Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Базы данных > CDaoDatabase с помощью MS Jet 4.0 OLE DB Provider


Автор: maq 10.1.2006, 02:27
Не подскажите как открыть в CDaoDatabase базу данных MS Access 2000 через Jet 4.0 OLE DB Provider.

С Jet 3.51 OLE DB Provider все работает (MS Access 97):

Код

CDaoDatabase dao_db;
CString str_dbfile, str_connect;
str_dbfile = _T("C:\\db1.mdb");
//str_connect.Format(_T("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;Persist Security Info=False"), str_dbfile);
dao_db.Open(str_dbfile, FALSE, FALSE, str_connect );


Если же использовать str_connect (как в комментарии) - проблема!
Как заставить CDaoDatabase подкючиться через Jet 4.0 OLE DB Provider?

Автор: maq 18.1.2006, 15:47
Может я некорректно выразился, перефразирую вопрос:

учусь писать на MFC.
мне надо подключиться к базе данных MS Access 2000.
Подключиться надо через Jet 4.0 OLE DB Provider, т.к. только в этом случае расположение базы данных не видно для конечного пользователя. Все это 100 раз проделывал в VB 6. Теперь подобное неолбходимо сделать на С++ 6.0

Но подключение необходимо после полной загрузки программы (at runtime), а не на стадии AppWizard (т.к. расположение базы, поля ее таблицы неизвестны - они не статичны).

CDaoDatabase для этого не подходит. Он подключается к базе MS Access 97, но не 2000.

CDatabase тоже не подходит - можно подключиться через DSN (а DSN виден для конечного пользователя, т.е. видно расположение базы).

Должен же быть вариант подключения к базе данных MS Access 2000! Ведь сам AppWizard подключается!

Кто бы мог подсказать - как?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)