Subrat 4708266 Ответов: 1

Получение исключения "неопределенная ошибка" во время выполнения.


Я использую Access 2007.
Я получаю исключение "неопределенная ошибка" во время выполнения.

_ConnectionPtr m_pcon;
try {
  _bstr_t conStr = _T("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\"d:\\bank.mdb\"");
  hr = m_pcon->Open(conStr, L"",L"",adConnectUnspecified);
} catch(_com_error& ce) {
	MessageBox(ce.ErrorMessage()); 
 }


Что я уже пробовал:

1. Попробовал изменить строку подключения, но не помогает.
_bstr_t conStr = _T("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\\bank.mdb");


2. Файл Bank.МБР присутствует в диск D.
3. stdafx.h, имеющий следующие дополнительные операторы для подключения oledb
#включить "atlbase. h"
#импорт "C:\Windows\winsxs\x86_microsoft-windows-m..ents-mdac-ado15-dll_31bf3856ad364e35_6.1.7601.22012_none_0ebfc67ce80861b4\msado15.dll" no_namespace rename ("EOF", " ADOEOF")

Пожалуйста, предложите, как исправить эту проблему.

KarstenK

Вы уверены, что у процесса есть права на открытие БД? Попробуйте это в каком-нибудь временном реж.

1 Ответов

Рейтинг:
2

Jochen Arndt

В конце строки подключения отсутствует точка с запятой.

Попробуйте это (используя здесь широкую строку, чтобы избежать конверсий, потому что BSTR тип использует широкие строки внутри):

_bstr_t conStr = L"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\\bank.mdb;";