Алиас ODBC
X)-
Цитата:
Originally posted by Sergun
или можно как нить зарегить в алиас (если можно то программно :)) а потом в ADOConnection его использовать..?
X)-
или можно как нить зарегить в алиас (если можно то программно :)) а потом в ADOConnection его использовать..?
X)-
насчет программно - не знаю... а ручками можно - через Панель управления->Администрирование
программно можно сделать через компонент TSession - но это уже BDE, что не есть хорошо
после выполнения программы все выглядит так, как будто кто-то создал псевдоним БД.
в качестве примера псевдоним дл БД Access
по сути не важно чо за СУБД - гловное указать системе нужные драйвера.
1:
#include "registry.hpp";
TRegistry *Reg = new TRegistry;
2:
Reg->RootKey = HKEY_LOCAL_MACHINE;
Reg->OpenKey("\\Software\\ODBC\\ODBC.INI\\ODBC Data Sources",true);
Reg->WriteString("ИМЯ_АЛИАСА", "Microsoft Access Driver (*.mdb)");
Reg->OpenKey("\\Software\\ODBC\\ODBC.INI\\ИМЯ_АЛИАСА",true);
Reg->WriteString("DBQ", "ПУТЬ_К_БД");
Reg->WriteString("Driver", "C:\\WINNT\\System32\\odbcjt32.dll");
Reg->WriteInteger("DriverId", 25);
Reg->WriteString("FIL", "MS Access;");
Reg->WriteInteger("SafeTransactions", 0);
Reg->WriteString("UID", "");
Reg->OpenKey("\\Software\\ODBC\\ODBC.INI\\ИМЯ_АЛИАСА\\Engines\\Jet",true);
Reg->WriteString("ImplicitCommitSync", "");
Reg->WriteInteger("MaxBufferSize", 2048);
Reg->WriteInteger("PageTimeout", 5);
Reg->WriteInteger("Threads", 3);
Reg->WriteString("UserCommitSync", "Yes");
Цитата:
Originally posted by sahato
у меня все пашет через реестр - просто создаешь там папку, потом ключики и тд. (вобщем все то, что делаешь ручками через "Администрирование")
после выполнения программы все выглядит так, как будто кто-то создал псевдоним БД.
в качестве примера псевдоним дл БД Access
по сути не важно чо за СУБД - гловное указать системе нужные драйвера.
1:
#include "registry.hpp";
TRegistry *Reg = new TRegistry;
2:
Reg->RootKey = HKEY_LOCAL_MACHINE;
Reg->OpenKey("\\Software\\ODBC\\ODBC.INI\\ODBC Data Sources",true);
Reg->WriteString("ИМЯ_АЛИАСА", "Microsoft Access Driver (*.mdb)");
Reg->OpenKey("\\Software\\ODBC\\ODBC.INI\\ИМЯ_АЛИАСА",true);
Reg->WriteString("DBQ", "ПУТЬ_К_БД");
Reg->WriteString("Driver", "C:\\WINNT\\System32\\odbcjt32.dll");
Reg->WriteInteger("DriverId", 25);
Reg->WriteString("FIL", "MS Access;");
Reg->WriteInteger("SafeTransactions", 0);
Reg->WriteString("UID", "");
Reg->OpenKey("\\Software\\ODBC\\ODBC.INI\\ИМЯ_АЛИАСА\\Engines\\Jet",true);
Reg->WriteString("ImplicitCommitSync", "");
Reg->WriteInteger("MaxBufferSize", 2048);
Reg->WriteInteger("PageTimeout", 5);
Reg->WriteInteger("Threads", 3);
Reg->WriteString("UserCommitSync", "Yes");
у меня все пашет через реестр - просто создаешь там папку, потом ключики и тд. (вобщем все то, что делаешь ручками через "Администрирование")
после выполнения программы все выглядит так, как будто кто-то создал псевдоним БД.
в качестве примера псевдоним дл БД Access
по сути не важно чо за СУБД - гловное указать системе нужные драйвера.
1:
#include "registry.hpp";
TRegistry *Reg = new TRegistry;
2:
Reg->RootKey = HKEY_LOCAL_MACHINE;
Reg->OpenKey("\\Software\\ODBC\\ODBC.INI\\ODBC Data Sources",true);
Reg->WriteString("ИМЯ_АЛИАСА", "Microsoft Access Driver (*.mdb)");
Reg->OpenKey("\\Software\\ODBC\\ODBC.INI\\ИМЯ_АЛИАСА",true);
Reg->WriteString("DBQ", "ПУТЬ_К_БД");
Reg->WriteString("Driver", "C:\\WINNT\\System32\\odbcjt32.dll");
Reg->WriteInteger("DriverId", 25);
Reg->WriteString("FIL", "MS Access;");
Reg->WriteInteger("SafeTransactions", 0);
Reg->WriteString("UID", "");
Reg->OpenKey("\\Software\\ODBC\\ODBC.INI\\ИМЯ_АЛИАСА\\Engines\\Jet",true);
Reg->WriteString("ImplicitCommitSync", "");
Reg->WriteInteger("MaxBufferSize", 2048);
Reg->WriteInteger("PageTimeout", 5);
Reg->WriteInteger("Threads", 3);
Reg->WriteString("UserCommitSync", "Yes");
спасибо попробую...:)