MS Access工作数据库连接,然后突然没有找到提供程序

2022-01-24 13:19:25 标签 databasevb.netms-accessvisual-studio-2019

我有一个代码,已经连接到一个MS访问数据库。当我再次打开Visual Studio 2019的数据连接下,数据库文件有一个x。当我尝试测试连接时,它有一个错误

The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the machine. 

我已经在x64上安装了“Microsoft Access数据库引擎2010(英文)”,从我第一次安装和第一次尝试运行代码开始,它就工作了。这发生了。我找不到问题所在。尽管当我运行代码,即使有一个x上的数据库文件和错误,提供者没有找到我的程序的登录仍然工作,并确定现有的帐户。

###如果你强迫你的项目是x64位?

然后可以使用连接构建器,但测试连接按钮永远不起作用。事实上,测试连接按钮从来没有工作,从来没有工作x64位访问。

然而,当你运行你的代码,连接应该和将工作。

所以:

Access x64 - must set project to x64 bits. 
Test connection NEVER works
You can use connection builder(s).

因此,对于x64访问(ACE),你必须运行项目连接工作-测试连接不能工作,因为Visual Studio是一个x32位程序-它不能连接到一个x64位驱动程序。但是F5(调试)或运行将工作,因为如果你强制项目到x64,那么项目将启动和运行作为一个x64位的进程。

所以测试连接从来没有工作在x64位访问。你很可能运行了你的项目——它工作了。但随后尝试尝试测试连接-它永远不会工作。因此,任何连接到ACE/访问必须发生在您运行项目时-在设计期间-测试连接生成器永远不会工作。

Access x32 - you should set/force the project to x86.
Test connection should work.
You can use the connection builders.

你可以使用“任何cpu”,但这只能工作,因为Visual Studio是一个x32位的应用程序。因此,当你点击f5运行时,你会得到一个x32位的“进程内”运行的应用程序实例。但是,我不推荐任何cpu用于x32访问。如果用户从一个x64位的命令行启动。net exe程序(很容易做到),那么你的任何cpu应用程序现在将作为x64位运行,而不是连接到访问x32。

因此,我强烈建议您强制您的项目到正确的位大小,并避免和不使用任何cpu的项目设置。

阅读全文

▼ 版权说明

相关文章也很精彩
推荐内容
更多标签
相关热门
全站排行
随便看看

错说 cuoshuo.com —— 程序员的报错记录

部分内容根据CC版权协议转载;网站内容仅供参考,生产环境使用务必查阅官方文档

辽ICP备19011660号-5

×

扫码关注公众号:职场神器
发送: 1
获取永久解锁本站全部文章的验证码