Ошибка при работе с MSJet через ADO
От: Etwas  
Дата: 16.07.02 08:07
Оценка:
_ConnectionPtr pcConn(__uuidof(Connection));
pcConn->ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\test.mdb;uid=Admin;pwd=;";
pcConn->Open("","","",adConnectUnspecified);

test.mdb — файл MS Access 2000
Возникает ошибка Microsoft Jet Engine — Невозможно найти устанавливаемый ISAM
в чем может быть проблема?
Re: Ошибка при работе с MSJet через ADO
От: SergeMS Россия  
Дата: 16.07.02 08:11
Оценка:
Здравствуйте Etwas, Вы писали:

E>test.mdb — файл MS Access 2000

E>Возникает ошибка Microsoft Jet Engine — Невозможно найти устанавливаемый ISAM
E>в чем может быть проблема?

А какую версию ADO вы используете ?
в последних версиях ADO отсутствует MS Jet
Re[2]: Ошибка при работе с MSJet через ADO
От: Etwas  
Дата: 16.07.02 08:29
Оценка:
Здравствуйте SergeMS, Вы писали:

SMS>Здравствуйте Etwas, Вы писали:


E>>test.mdb — файл MS Access 2000

E>>Возникает ошибка Microsoft Jet Engine — Невозможно найти устанавливаемый ISAM
E>>в чем может быть проблема?

SMS>А какую версию ADO вы используете ?

SMS>в последних версиях ADO отсутствует MS Jet

Используется MDAC 2.5 в состав которого входит MS Jet
по реестру HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\ список установленных ISAM драйверов, но Access'а там нет. Как я понимаю — и не должно быть, т.к. он сам по себе является Jet DB.
Re: Ошибка при работе с MSJet через ADO
От: algol Россия about:blank
Дата: 16.07.02 08:45
Оценка:
Здравствуйте Etwas, Вы писали:

E>_ConnectionPtr pcConn(__uuidof(Connection));

pcConn->>ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\test.mdb;uid=Admin;pwd=;";
pcConn->>Open("","","",adConnectUnspecified);

E>test.mdb — файл MS Access 2000

E>Возникает ошибка Microsoft Jet Engine — Невозможно найти устанавливаемый ISAM
E>в чем может быть проблема?

В том, что Connection открывается с пустой строкой в Open(). Там нужно указать либо ConnectionString, либо vtEmpty:
_variant_t vtEmpty(DISP_E_PARAMNOTFOUND,VT_ERROR);
Re[2]: Ошибка при работе с MSJet через ADO
От: Etwas  
Дата: 16.07.02 09:10
Оценка:
Здравствуйте algol, Вы писали:

A>Здравствуйте Etwas, Вы писали:


E>>_ConnectionPtr pcConn(__uuidof(Connection));

pcConn->>>ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\test.mdb;uid=Admin;pwd=;";
pcConn->>>Open("","","",adConnectUnspecified);

A>В том, что Connection открывается с пустой строкой в Open(). Там нужно указать либо ConnectionString, либо vtEmpty:

A>_variant_t vtEmpty(DISP_E_PARAMNOTFOUND,VT_ERROR);

Спасибо, провериил. Не работает, тот же результат. ConnectionString устанавливается заранее, этот синтаксис равносилен предложенному вами.
Re[3]: Ошибка при работе с MSJet через ADO
От: SergeMS Россия  
Дата: 16.07.02 09:14
Оценка:
Здравствуйте Etwas, Вы писали:

E>Используется MDAC 2.5 в состав которого входит MS Jet


Попробуй создать udl-файл, настроить в нем все свойства и проверить в нем связь с базой данных.
Re: Решение найдено
От: Etwas  
Дата: 16.07.02 10:26
Оценка:
Здравствуйте Etwas, Вы писали:

E>_ConnectionPtr pcConn(__uuidof(Connection));

pcConn->>ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\test.mdb;uid=Admin;pwd=;";
pcConn->>Open("","","",adConnectUnspecified);

E>test.mdb — файл MS Access 2000

E>Возникает ошибка Microsoft Jet Engine — Невозможно найти устанавливаемый ISAM
E>в чем может быть проблема?

Заработала следущая конструкция:

_ConnectionPtr pcConn(__uuidof(Connection));
pcConn->Provider="Microsoft.Jet.OLEDB.4.0";
pcConn->ConnectionString="Data Source=C:\\armtest.mdb;";
pcConn->Open("","admin","",adConnectUnspecified);

причины такого поведения не ясны.
Спасибо всем.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.