Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

открытие БД MS Access в WinXP x64 через oleDbConnection

32K
23 сентября 2007 года
DenisArd
1 / / 23.09.2007
Есть программа (не моя) под .NET, работающая c БД MS Access. Соединение с БД устанавливается следующим кодом (получен декомпиляцией):
 
Код:
oleDbConnection.ConnectionString := String.Concat('Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Registry Path=;Jet OLEDB:Database Locking Mode=1;Data Source="', path, '";Mode=Share Deny None;Jet OLEDB:Engine Type=5;Provider="Microsoft.Jet.OLEDB.4.0";Jet OLEDB:System database=;Jet OLEDB:SFP=False;persist security info=False;Extended Properties=;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Create System Database=False;Jet OLEDB:Don''t Copy Locale on Compact=False;User ID=Admin;Jet OLEDB:Global Bulk Transactions=1');
    try
        oleDbConnection.Open
    except
        on exception: Exception do
            raise Error.Create(ClassName, FuncName, 'Не могу открыть базу', exception)
    end


Под 32-битной виндой работает на ура, а вот в 64-битной версии - 'Не могу открыть базу'.
Проблема видимо в Jet: не то, чтобы его совсем не было, но оно устанавливается в 32-битной подсистеме, (в реестре соответствующие ключи находятся в HKLM\SOFTWARE\Wow6432Node\Microsoft\Jet, а не в HKLM\SOFTWARE\Microsoft\Jet) и 64-битный .NET Framework его похоже не видит.
Есть ли способ решения данной проблемы?
PS На сайте Microsoft есть обновления Microsoft Jet только для 32-битных систем. Получается под .NET x64 с БД вообще нельзя работать:confused:
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог