Форум: "Базы";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
ВнизПодключение к MySQL Найти похожие ветки
← →
vhm (2010-09-18 11:38) [0]Привет всем. Возникла следующая проблема, необходимо подгрузить параметры подключения к БД из внешнего файла.
Делаю вот как:
SQLConnection1.LoadParamsFromIniFile("D:\config.ini");
SQLConnection1.Open;
Содержание config.ini
DriverName=MySQL
Database=doc
ConnectTimeout=60
HostName=localhost
User_Name=root
При запуске выскакивает ошибка:
Unknown MySQL server host "ServerName"
← →
Ega23 © (2010-09-18 11:47) [1]ServerName скорее всего берётся по-умолчанию.
Пропиши его в ini явным образом
← →
vhm (2010-09-18 12:08) [2]Не помогает (
← →
Anatoly Podgoretsky © (2010-09-18 12:08) [3]> vhm (18.09.2010 11:38:00) [0]
А ведь действительно в файле такого параметра нет.
← →
vhm (2010-09-18 12:12) [4]ServerName это значение по умолчанию параметра HostName он почему то подгружает файлик с параметрами по умолчанию (название файла не помню), а не тот что я указываю явно.
Делал даже вот как. С начало обычным путем (в панели свойств) прописывал параметры подключения, затем компилил прогу с вот такой строчкой:
SQLConnection1.Params.SaveToFile("conf.ini");
А затем ее подгружал и не фига!
← →
vhm (2010-09-18 12:17) [5]Нашел этот файлик от куда программа тянет параметры по умолчанию, называется dbxdrivers.ini вот содержание для MySQL
[MYSQL]
DriverUnit=DBXMySQL
DriverPackageLoader=TDBXDynalinkDriverLoader,DbxCommonDriver140.bpl
DriverAssemblyLoader=Borland.Data.TDBXDynalinkDriverLoader,Borland.Data.DbxCommo nDriver,Version=14.0.0.0,Culture=neutral,PublicKeyToken=91d62ebb5b0d1b1b
MetaDataPackageLoader=TDBXMySqlMetaDataCommandFactory,DbxMySQLDriver140.bpl
MetaDataAssemblyLoader=Borland.Data.TDBXMySqlMetaDataCommandFactory,Borland.Data .DbxMySQLDriver,Version=14.0.0.0,Culture=neutral,PublicKeyToken=91d62ebb5b0d1b1b
GetDriverFunc=getSQLDriverMYSQL
LibraryName=dbxmys.dll
VendorLib=LIBMYSQL.dll
BlobSize=-1
Database=DBNAME
ErrorResourceFile=
HostName=ServerName
LocaleCode=0000
Password=password
User_Name=user
Compressed=False
Encrypted=False
Как видите ServerName это не параметр, а значение
← →
Ega23 © (2010-09-18 12:27) [6]
> Как видите ServerName это не параметр, а значение
Сделай свой загрузчик ini, какие проблемы?
← →
vhm (2010-09-18 12:29) [7]Что значит сделай свой загрузчик? Если ты имеешь ввиду чтобы программа загружала параметры из моего .ini файла, то я так и делаю, но она у меня не загружает их...
← →
Ega23 © (2010-09-18 12:45) [8]
> Если ты имеешь ввиду чтобы программа загружала параметры
> из моего .ini файла, то я так и делаю, но она у меня не
> загружает их...
Не надо слепо полагаться на то, что предоставляется компонентом.
Напиши свой загрузчик.uses IniFiles
var
ini: TIniFile;
begin
ini := TIniFile.Create(FileName);
try
Connection.Param1 := ini.ReadString(SectionName, "Param1", "default for Param1");
Connection.Param2 := ini.ReadString(SectionName, "Param2", "default for Param2");
.....
Connection.ParamN := ini.ReadString(SectionName, "ParamN", "default for ParamN");
finally
ini.Free;
end;
end;
и сохранение в таком же ключеvar
ini: TIniFile;
begin
ini := TIniFile.Create(FileName);
try
ini.WriteString(SectionName, "Param1", Connection.Param1);
......
ini.WriteString(SectionName, "ParamN", Connection.ParamN);
finally
ini.Free;
end;
end;
← →
Anatoly Podgoretsky © (2010-09-18 13:19) [9]> vhm (18.09.2010 12:29:07) [7]
Это значит, что тебе надо настроить параметры по умолчанию.
← →
Плохиш © (2010-09-18 21:49) [10]
> vhm (18.09.10 11:38)
Сначала надо установить требуемые значения DriverName и ConnectionName и присвоить свойству LoadParamsOnConnect значение false. После этого загружать праметры из файла при помощи LoadParamsFromIniFile.
После этого всё-равно придётся присваивать значения свойствам GetDriverFunc, LibraryName и VendorLib.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.06 c