【发布时间】:2019-01-10 07:31:19
【问题描述】:
我正在尝试通过 Visual Studio 2017 中的“连接到数据库”向导连接到访问数据库。高级选项卡中的提供程序下拉列表缺少 Microsoft.Ace.OLEDB.16.0 提供程序,并且安装 Microsoft 不可行.Ace.OLEDB.12.0。 Office 2016 已安装在将使用此应用的所有计算机上。
我可以通过手动创建一个指定 Microsoft.Ace.OLEDB.16.0 提供程序的 OleDbConnection 来连接到数据库。
我的问题是,是否可以将该提供程序添加到连接向导选项中?
【问题讨论】:
-
您可能想要选择“Microsoft Access 数据库文件”>“继续”>“高级”按钮。 Provider 属性允许您选择提供程序的特定版本。我只看到 Jet 4.0 和 ACE 12.0,但没有安装 Office 2016。
-
这就是我正在做的,它显示了 jet 4 和 oledb 12,但没有 16。我没有安装 12,它在我的环境中无论如何都无法工作,因为 office 16 安装在所有盒子。
-
其他机器上安装什么都没关系,专注于你的。我能想到的一个基本原因是您安装了 64 位版本的 Office 2016。 VS 是 32 位程序,因此只能使用 32 位提供程序。考虑同样安装 32 位版本的 Office。但这是有风险的,你必须在 64 位版本的机器上测试你的代码。
-
很可能就是这样。 Office 是 x64,我必须使用 x64 处理器进行编译,手动连接才能正常工作。如果您将此作为答案,我会接受。
标签: c# visual-studio-2017 oledb