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

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

конфигурация ODBC [D7, MySQL]


Sir John ©   (2004-07-08 13:33:00) 

Коллеги, возможно ли программно отконфигурировать ODBC? Или существуют ли инсталяторы, которые делают это на этапе установки програмы?


Sir John   (2004-07-09 09:51:00) [1]

Проблема до ужаса простая оказалась. Экспортируем нужные настройки ODBC в reg файл и запихиваем в инсталятор. Уносим на "чистую" машину. При установке инсталятор прописывает все сам.
Спасибо за приведеный код. ПОложил в архивчик. В жизни оно все пригодится :)


Курдль   (2004-07-08 14:07:00) [2]

Вот рабочий скрипт установки Sybase ASA + ODBC - разбирайся (лень разжевывать)

function SetupRegistry()
   NUMBER nResult, nvInfo, nvType, nvSize;
   STRING key, tempPath, asaDir, sharedDir, szComponent, svInfo;
   STRING szDriverName, szDriverDLL, szDsnName, szDsnNameClient, szDsnNameUltraLite, szTransName, szTransDLL;
begin
szComponent = "ХЗХЗ\\Interfaces";
   
         
   // Проверить в случае выборочной инсталляции установку клиента
ComponentGetData (MEDIA, szComponent, COMPONENT_FIELD_SELECTED, nvInfo, svInfo);
if (nvInfo != 1) then
 return 0;        
endif;

   nResult = CreateRegistrySet( "" );

   RegDBSetDefaultRoot( HKEY_LOCAL_MACHINE );
   asaDir = TARGETDIR ^ "ASA";
   sharedDir = asaDir ^ "shared";
   key = "SOFTWARE\\Sybase\\Adaptive Server Anywhere\\8.0";
   
   if (RegDBGetKeyValueEx ( key, "Location", nvType, asaDir, nvSize) < 0) then
 // Клиент ставится на чистую машину
    asaDir = TARGETDIR ^ "ASA";
    RegDBSetKeyValueEx( key, "Location", REGDB_STRING, asaDir, -1 );
    RegDBSetKeyValueEx( key, "Shared Location", REGDB_STRING, sharedDir, -1 );
   endif;

   // Setup a DSN for your database.
   
   szDriverName = "Adaptive Server Anywhere 8.0";
   szDsnName = "LEAgent";
   szDsnNameClient = "LEAgent";
   szDsnNameUltraLite = "LEAgent";
   szDriverDLL = TARGETDIR ^ "win32" ^ ODBC_DRIVER;

   RegDBSetKeyValueEx( "SOFTWARE\\ODBC\\ODBC.INI\\ODBC Data Sources",
                      szDsnName, REGDB_STRING, szDriverName, -1 );
   RegDBSetKeyValueEx( "SOFTWARE\\ODBC\\ODBC.INI" ^ szDsnName,
                       "Driver", REGDB_STRING, szDriverDLL, -1 );
   RegDBSetKeyValueEx( "SOFTWARE\\ODBC\\ODBC.INI" ^ szDsnName,
                      "Description", REGDB_STRING, "Insurance agent", -1 );
//    RegDBSetKeyValueEx( "SOFTWARE\\ODBC\\ODBC.INI" ^ szDsnName,
//                        "UID", REGDB_STRING, "dba", -1 );
//    RegDBSetKeyValueEx( "SOFTWARE\\ODBC\\ODBC.INI" ^ szDsnName,
//                       "PWD", REGDB_STRING, "sql", -1 );
   RegDBSetKeyValueEx( "SOFTWARE\\ODBC\\ODBC.INI" ^ szDsnName,
                       "DatabaseName", REGDB_STRING, "LEAgent", -1 );
   RegDBSetKeyValueEx( "SOFTWARE\\ODBC\\ODBC.INI" ^ szDsnName,
                       "EngineName", REGDB_STRING, "LEAgent", -1 );
   RegDBSetKeyValueEx( "SOFTWARE\\ODBC\\ODBC.INI" ^ szDsnName,
                       "AutoStop", REGDB_STRING, "yes", -1 );
   RegDBSetKeyValueEx( "SOFTWARE\\ODBC\\ODBC.INI" ^ szDsnName,
                       "Compress", REGDB_STRING, "NO", -1 );
   RegDBSetKeyValueEx( "SOFTWARE\\ODBC\\ODBC.INI" ^ szDsnName,
                       "Debug", REGDB_STRING, "NO", -1 );
   RegDBSetKeyValueEx( "SOFTWARE\\ODBC\\ODBC.INI" ^ szDsnName,
                       "Integrated", REGDB_STRING, "NO", -1 );
   RegDBSetKeyValueEx( "SOFTWARE\\ODBC\\ODBC.INI" ^ szDsnName,
                       "DisableMultiRowFetch", REGDB_STRING, "NO", -1 );
                         
   RegDBSetKeyValueEx( "SOFTWARE\\ODBC\\ODBC.INI" ^ szDsnName,
                       "CommLinks", REGDB_STRING, "SharedMemory, TCPIP{}", -1 );
   return nResult;
end;


Ильш   (2004-07-08 13:57:00) [3]

отконфигурировать ODBC - Сэру Johnу поможет Лорд РЕЕСТР !!!


Sir John   (2004-07-08 13:54:00) [4]

знать бы еще куда их прописывать - написал бы свою собственную программу-кнфигуратор.


Курдль   (2004-07-08 13:53:00) [5]

Да любая! Причем, я думаю, это любой инсталлер делать может - прописать в реестр нужные данные.


Sir John   (2004-07-08 13:51:00) [6]

версия?


Курдль   (2004-07-08 13:45:00) [7]

Существуют. Install Shield


Наверх

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