Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.03.22;
Скачать: CL | DM;

Вниз

Подключение к 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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.051 c
2-1338798568
leklerk
2012-06-04 12:29
2013.03.22
Программа висит в процессах


3-1280927465
Наталья
2010-08-04 17:11
2013.03.22
Работа с NavigatorButtons в cxGrid


3-1282803008
Nurjanov
2010-08-26 10:10
2013.03.22
[Error] Need imported data reference ($G) to access GUID_NULL f


2-1343500390
vasa777
2012-07-28 22:33
2013.03.22
скрыть ненужные компоненты из палитры


2-1330375381
LDV
2012-02-28 00:43
2013.03.22
Access Violation on AssignFile(fp, file_name)