Как создать базу данных 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)