C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
ODBC Driver, Создание ODBC Driver программно Access
Новичок
Отправлено: 04.04.2005, 20:30


Не зарегистрирован







Помогите пожалуйста создать программно новый ODBC Driver (использую Access).
Gedeon
Отправлено: 05.04.2005, 07:54


Ветеран

Группа: Модератор
Сообщений: 1742



Драйвер или алиас? smile.gif
AVC
Отправлено: 05.04.2005, 07:54


Ветеран

Группа: Модератор
Сообщений: 1583



Лавры Microsoft Corporporation не дают покоя ?
Может все таки не драйвер а data source name (DSN) ?
Gedeon
Отправлено: 05.04.2005, 08:15


Ветеран

Группа: Модератор
Сообщений: 1742



О как мы одновременно smile.gif
Новичок
Отправлено: 05.04.2005, 10:01


Не зарегистрирован







Все таки не драйвер а data source name (DSN)

Я бы и сам рад сделать, только мозгов не хватает, ламер я?[I][SIZE=1]
AVC
Отправлено: 05.04.2005, 10:01


Ветеран

Группа: Модератор
Сообщений: 1583



Уж больно вопрос красивый. smile.gif
AVC
Отправлено: 05.04.2005, 10:06


Ветеран

Группа: Модератор
Сообщений: 1583



Как забавно — опять совпадение по времени. Я писал для Gedeon

QUOTE
Все таки не драйвер а data source name (DSN)

Какой системный/пользовательский или файловый. Файловый проще всего.
Для остальных надо править реестр (кажется в двух местах).
Gedeon
Отправлено: 05.04.2005, 10:23


Ветеран

Группа: Модератор
Сообщений: 1742



И все же Вам нужен именно DSN или достаточно просто из приложения прицепиться к файлу акссеса? Если так, то это намоного проще.
Новичок
  Отправлено: 06.04.2005, 10:11


Не зарегистрирован







Все нашел !!! Спасибо за содействие.
Новичок
Отправлено: 06.04.2005, 10:25


Не зарегистрирован







Возникла другая проблема.

Нужно вытащить список имен пользовательских DSN. Использую следующий код:

CODE

#include <Registry.hpp>  

 TRegistry *Reg = new TRegistry;
 TStringList *ss = new TStringList;
 AnsiString S;
 String f,g;

 ListBox1->Items->Clear();
 try
 {
   Reg->Access=KEY_READ;
   Reg->RootKey = HKEY_CURRENT_USER;
   Reg->OpenKey("\Software\ODBC\ODBC.INI\ODBC Data Sources", false);
   Reg->GetValueNames(ss);
   Reg->GetValueNames(ListBox1->Items);
    for (int j=0; j < ss->Count; j++)
     {
       f=ListBox1->Items->Strings[j];
     }
 }
 __finally
 {
   Reg->CloseKey();
   delete Reg;
 }


Процедура не ругается, но и не возвращает списка, который есть.

Помогите пожалуйста !!!
Gedeon
Отправлено: 06.04.2005, 11:28


Ветеран

Группа: Модератор
Сообщений: 1742



QUOTE (Новичок @ 06/04/2005, 08:25)
CODE

#include <Registry.hpp>

TRegistry *Reg = new TRegistry;




ListBox1->Items->Clear();
try
{
Reg->Access=KEY_READ;
Reg->RootKey = HKEY_CURRENT_USER;
Reg->OpenKey("\\Software\\ODBC\\ODBC.INI\\ODBC Data Sources", false);

Reg->GetValueNames(ListBox1->Items);

}
__finally
{
Reg->CloseKey();
delete Reg;
}


Вот, подправил

1000 пост, О

Отредактировано Gedeon — 06/04/2005, 09:29
Новичок
Отправлено: 06.04.2005, 11:55


Не зарегистрирован







БОЛЬШОЕ СПАСИБО !!!

Вернуться в Работа с базами данных в C++Builder