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

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

Как найти список всех драйверов ODBC ? [D6, D7, MSSQL, MS Access]


spyrytus ©   (2007-04-04 19:53:00) 

Здравствуйте !

Написал программу, все работает, но при переносе на другую машину пишет, что не может найти нужного ODBC драйвера. Добавляешь драйвер вручную - начинает работать. Как мне найти список всех драйверов ODBC установленных в системе.


MsGuns   (2007-04-05 08:13:00) [1]

Просто пример:

with TADODataSet.Create(nil) do
  try
    ConnectionString := 'Provider=SQLOLEDB;'+
                        ';Persist Security Info=false'+
                        ';User ID=sa'+
                        ';Data Source='+SQLServer.ServerName+
                        ';Initial Catalog='+DBName;
    CommandText := <Текст запроса>
    Open;
    ...
  finally
    Free;
  end;


Имя сервера и БД можно хранить в реестре, ini-файле или еще где просто как строчки


sniknik   (2007-04-04 23:54:00) [2]

> То есть перейти на ADO ?
а ты еще не перешел? работая с MSSQL + MS Access... других вариантов то считай и нет...

> при настройке компонента TADOConnection требуется ввести строку соеденения
требует значит вводи! ткни на строке в компоненте где мастер открывается и вводи с комфортом...

> как узнать список доступных пользовательских DSN
в OLEDB нет DSN...


spyrytus   (2007-04-04 23:37:00) [3]

То есть перейти на ADO ?

Понеслось ! И вот теперь новый вопрос но уже по ADO !

Короче говоря: при настройке компонента TADOConnection требуется ввести строку соеденения. Один из параметров строки - "Provider=" - драйвер который будет использоватся ( как узнать список доступных драйверов), второй параметр - "DSN=" - как узнать список доступных пользовательских DSN.


sniknik   (2007-04-04 23:29:00) [4]

> Добавляешь драйвер вручную - начинает работать.
как это? ты копируешь откудато драйвер себе на машину, или, как подозреваю  просто путаешь драйвер и DSN? если да, то можно составлять строку коннекта не указывая DSN, а указывая драйвер, и вручную тогда прописывать не надо будет.

> В MSVC++ есть функция SQLGetInstaledDrivers
она не в MSVC++ есть, она есть в odbc32.dll, откуда ты ее можеш и в программе на дельфи брать и использовать.

но лучше конечно ->
> уйти от ODBC к OLE DB


MsGuns   (2007-04-04 22:14:00) [5]

Советую уйти от ODBC к OLE DB


spyrytus   (2007-04-04 21:14:00) [6]

А есть-ли, какая-то функция которая-бы возвращала список, или хотя-бы указатель на первый драйвер ? В MSVC++ есть функция SQLGetInstaledDrivers - она возвращает список драйверов.


Desdechado   (2007-04-04 20:19:00) [7]

HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI
?


Наверх

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