Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Источник данных ODBC


Рамиль ©   (2003-11-27 08:17:00) 

Как программно создать DSN (Access)?


alex-ran   (2003-11-27 14:53:00) [1]

Есть такая ф-ция SQLConfigDataSource
смотреть надо в хелпе, файл помощи называется odbc.hlp, если не найдешь кричи, вышлю пример


Nikolay M.   (2003-11-27 14:44:00) [2]

Значит, так хорошо искал.
У меня мсдн, правда, локальный. "Supported ODBC API Functions" выдал, особо не напрягаясь.


Рамиль   (2003-11-27 13:06:00) [3]


> msdn.microsoft.com не пробовал смотреть?

Потратив час, нашел только
Open Control Panel, and double-click the 32bit ODBC icon...
и InstallSheild...
С реестром быстрее будет, наверное.


Nikolay M.   (2003-11-27 11:40:00) [4]

msdn.microsoft.com не пробовал смотреть?
А чем вариант с реестром не устраивает?


Рамиль   (2003-11-27 10:52:00) [5]

Если бы я их знал, то не спрашивал бы. Справка Windows SDK об этом умалчивает почему то...


Nikolay M.   (2003-11-27 10:41:00) [6]

Можно. ODBC API к твоим услугам.


Рамиль   (2003-11-27 09:02:00) [7]

Спаcибо. А Windows как нибудь "попросить" создать можно?;)


Nikolay M.   (2003-11-27 08:28:00) [8]

Я делал через реестр, работало на десятке машин, больше не тестировал, разбирайся:

accessdll_path := GetSystemDir + "\ODBCJT32.DLL";
reg.RootKey := HKEY_CURRENT_USER;
reg.OpenKey ("Software\ODBC\ODBC.INI\Parser DSN", True);
reg.WriteString ("DBQ", "\\Pm-parser\DB\parser.mdb");
reg.WriteString ("Driver", accessdll_path);
reg.WriteInteger ("DriverId", 25);
reg.WriteString ("FIL", "MS Access;");
reg.WriteInteger ("SafeTransactions", 0);
reg.WriteString ("UID", "");
reg.CloseKey;
reg.OpenKey ("Software\ODBC\ODBC.INI\Parser DSN\Engines\Jet", True);
reg.WriteString ("ImplicitCommitSync", "");
reg.WriteInteger ("MaxBufferSize", 2048);
reg.WriteInteger ("PageTimeout", 5);
reg.WriteInteger ("Threads", 3);
reg.WriteString ("UserCommitSync", "Yes");
reg.CloseKey;
reg.OpenKey ("Software\ODBC\ODBC.INI\ODBC Data Sources", True);
reg.WriteString ("Parser DSN", "Microsoft Access Driver (*.mdb)");
reg.CloseKey;
reg.RootKey := HKEY_LOCAL_MACHINE;
reg.OpenKey ("SOFTWARE\ODBC\ODBCINST.INI\Microsoft Access Driver (*.mdb)", True);
reg.WriteString ("APILevel", "1");
reg.WriteString ("ConnectFunctions", "YYN");
reg.WriteString ("Driver", accessdll_path);
reg.WriteString ("DriverODBCVer", "02.50");
reg.WriteString ("DSN", "База данных MS Access 97");
reg.WriteString ("FileExtns", "*.mdb");
reg.WriteString ("FileUsage", "2");
reg.WriteString ("Setup", accessdll_path);
reg.WriteString ("SQLLevel", "0");
reg.WriteString ("UID", "Admin");
reg.WriteInteger ("UsageCount", 3);
reg.CloseKey;
reg.OpenKey ("Software\ODBC\ODBCINST.INI\ODBC Drivers", True);
reg.WriteString ("Microsoft Access Driver (*.mdb)", "Installed");
reg.CloseKey;


Наверх

Титульная страница Поиск, карта сайта Написать письмо