Добавляет (модифицирует) указанный пользовательский ODBC DSN-источник для доступа к MS SQL-серверуDelphi , Базы данных , AliasДобавляет (модифицирует) указанный пользовательский ODBC DSN-источник для доступа к MS SQL-серверу
Автор: KSergey { **** UBPFD *********** by delphibase.endimus.com **** >> Добавляет (модифицирует) указанный пользовательский ODBC DSN-источник для доступа к MS SQL-серверу Модуль управления источниками DSN Состоит из одной функции добавления (а при наличии - содержимое модицицируется) пользовательского DSN-источника для доступа к MS SQL-серверу. Кроме того в клиентских настройках прописывается протокол TCP/IP и порт 1433 (за эту часть 100% уверенности нет в том смысле, что мне не удалось найти документированного интерфейса для этих изменений). Приведено в виде модуля для того, чтобы включить определение ф-ции SQLConfigDataSource (т.к. не нашел этого описания в поставке Delphi). Ссылки на источники: http://www.rsdn.ru/qna/default.asp?db/datasrc.xml http://www.bbd.net.ru/modules.php?op=modload&name=News&file=article&sid=16 http://www.firststeps.ru/mfc/odbc/r.php?14 Зависимости: Windows, Registry Автор: KSergey, s_wr@mail.ru, ICQ:93229204, Новосибирск Copyright: В качестве справки по работе с ф-цией SQLConfigDataSource использовались источники, ссылки на которые есть в описании Дата: 17 июня 2003 г. ***************************************************** } interface uses Windows, Registry; function AddDSNMSSQLSource(const ADSNName, AServer, ADataBase: string; ADescription: string = ''): Boolean; function SQLConfigDataSource( hwndParent: HWND; // Указатель на окно вызвавшее функцию fRequest: WORD; // Тип запроса lpszDriver: PChar; // Пользовательское имя драйвера lpszAttributes: PChar // атрибуты ): Boolean; stdcall; external 'odbccp32.dll' name 'SQLConfigDataSource'; const ODBC_ADD_DSN = 1; // Add data source ODBC_CONFIG_DSN = 2; // Configure (edit) data source ODBC_REMOVE_DSN = 3; // Remove data source implementation {****************************************************************************** * AddDSNMSSQLSource - добавляет (модифицирует) пользовательский DSN-источник * для доступа к MS SQL серверу * Дополнительно в клиентских настройках прописывается * протокол TCP/IP и порт 1433 * * Вход: ADSNName - имя DSN-источника * AServer - имя сервера * ADataBase - наименование БД на сервере по умолчанию * ADescription - описание источника (необязательный параметр) * * Выход: TRUE - в случае успеха, FALSE - в противном случае ******************************************************************************} function AddDSNMSSQLSource(const ADSNName, AServer, ADataBase: string; ADescription: string = ''): Boolean; const driver = 'SQL Server'; var params: string; // эта ф-ция прописывает необходимые настройки для доступа к MS SQL по TCP/IP // и на порт 1433 function SetNetLibParam: Boolean; begin Result := FALSE; with TRegistry.Create do try RootKey := HKEY_LOCAL_MACHINE; if OpenKey('\Software\Microsoft\MSSQLServer\Client', TRUE) then if not KeyExists('ConnectTo') then CreateKey('ConnectTo'); if OpenKey('ConnectTo', TRUE) then begin WriteString(AServer, 'DBMSSOCN,' + AServer + ',1433'); Result := TRUE; end; finally CloseKey; Free; end; end; begin params := 'DSN=' + ADSNName + #0'Server=' + AServer + #0'DataBase= ' + ADataBase + #0'Description=' + ADescription + #0#0; Result := SQLConfigDataSource(0, ODBC_ADD_DSN, PChar(driver), PChar(params)); Result := Result and SetNetLibParam; end; end. Пример использования: if not AddDNSMSSQLSource('ServerDSN', 'big_server', 'Clients', 'Для программы работы с клиентами') then DoError; Статья Добавляет (модифицирует) указанный пользовательский ODBC DSN-источник для доступа к MS SQL-серверу раздела Базы данных Alias может быть полезна для разработчиков на Delphi и FreePascal. Комментарии и вопросыМатериалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |