1

我们的应用程序需要从 VB.NET 创建一个 .mdb (MS Access 2000) 文件。我们为此使用ADOX作为连接字符串

Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Engine Type=5;

这很好用。但是,现在我们希望允许对我们的应用程序进行 64 位编译。由于 Jet 4.0 引擎仅为 32 位,因此必须将连接字符串中的 Provider 更改为 ACE 12.0。但是,当我们使用此提供程序时,会创建一个 MS Access 2010 (.accdb) 文件,而我们需要一个 MS Access 2000 (.mdb) 文件。

我们如何解决这个问题?

4

2 回答 2

1

您可以使用 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)
于 2016-05-10T12:22:36.860 回答
1

好吧,我们试试运气

Provider=Microsoft.ACE.OLEDB.12.0;Jet OLEDB:Engine Type=5;

你瞧:它似乎奏效了!

于 2016-05-15T20:29:15.840 回答