Как создать базу данных Access 2000 из 64-битной сборки.NET?

Наше приложение должно создать файл.mdb (MS Access 2000) из VB.NET. Мы используем ADOX для этого, используя в качестве строки подключения

Поставщик =Microsoft.Jet.OLEDB.4.0;Jet OLEDB: Тип двигателя =5;

Это хорошо работает. Однако теперь мы хотим разрешить 64-битную компиляцию нашего приложения. Поскольку ядро ​​Jet 4.0 является только 32-разрядным, поставщик в строке подключения должен быть изменен на ACE 12.0. Однако при использовании этого поставщика создается файл MS Access 2010 (.accdb), а нам нужен файл MS Access 2000 (.mdb).

Как мы можем решить это?

2 ответа

Решение

Ну, мы попытали счастья с

Поставщик =Microsoft.ACE.OLEDB.12.0;Jet OLEDB: Тип двигателя =5;

И о чудо: похоже на работу!

Вы можете использовать ACE DAO вместо ADOX, вот так:

' required COM reference:
'     Microsoft Office 14.0 Access Database Engine Object Library
' 
' Imports Microsoft.Office.Interop.Access.Dao
'
Dim dbe As New DBEngine
dbe.CreateDatabase("C:\path\foo.mdb", LanguageConstants.dbLangGeneral, DatabaseTypeEnum.dbVersion40)
Другие вопросы по тегам