未在本地计算机上注册“Microsoft.Jet.Oledb.4.0”提供程序。今天它来了

转载:64位系统使用Access 数据库文件的彻底解决方法
未在本地计算机上注册“Microsoft.Jet.Oledb.4.0”提供程序。

于是,又在公司的电脑上(Win7 64位)做了实验,发现跟家里面的Win8.1 64位 问题一样,上网搜索了一下,大部分都建议将.NET程序编译的时候,目标平台设定为 x86 ,我试了下,果然成功。

但是,如果你的.NET程序是别人编译好的,且在64位系统上运行,要访问Access数据库,怎么办呢?

首先想到,看能否通过应用程序配置文件,将.NET程序配置成运行在 32位 系统下,找了很久资料,无果,放弃。

再想想,是不是跟自己的Office是32位有关呢?

关键问题不在于是Access 2010还是Access 2013而已,不必钻牛角尖,何不求其次,安装一个Access 2007/2010的Database Engine不就行了。

解决办法:

① 下载安装Microsoft Access Database Engine 2010 Redistributable(28MB),共有32bit(下载)和64bit(下载)两个版本,具体要安装哪个要看你的Office程序是32bit的还是64bit的,比如:我的PC是64bit的Win8 Pro,但是我Office的程序是32bit的,所以我应当安装AccessDatabaseEngine.exe(32bit);

② 打开你的.NET应用程序配置文件(应用程序名.config,Web应用程序为 Web.config),设置数据库连接字符串的Provide Microsoft.ACE.OLEDB.12.0,例如标准连接字符串为:“Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Data.accdb;Persist Security Info=False;”

再次运行程序,OK,数据库连接成功,一切正常。

注意:64位系统下一定要修改提供程序为 Microsoft.ACE.OLEDB.12.0,而此时的文件名,可以是 早期的 mdb文件,也可以是新的 accdb 文件。

    如果你虽然是64位系统,但是你的Office 是32位的,所以你只能安装32位的ACE驱动,因此你的.NET应用程序也只能发布成32位的,如果编译成anycpu版本,还是无法访问ACE。

    (PS:如果你发布成x86格式的目标平台,并且不想使用accdb格式的Access数据库文件,那么就不必安装上面的32位ACE驱动了,省得折腾:-《)

注意:

  如果你安装了 64位的Access程序,但是在VS2013中调试Web网站应用程序的时候,提示“Microsoft.ACE.OLEDB.12.0” 未注册,请在VS的选项中,项目和解决方案,Web项目,勾选64位的 IIS Express 。

此问题受影响的 PDF.NET 开发框架相关程序:

1,SimpleAccessWinForm 程序,下载地址 ,Example PDF.Net_V4.6 WinForm 数据表单实例

example, 526K, uploaded Mar 27, 2013 - 809 downloads
运行该程序后,请修改 SimpleAccessWinForm.config 文件的内容,如果是第一次运行,程序会自动创建该文件 并自动创建数据库文件,文件内容比如:

<?xml version="1.0" encoding="utf-8"?> 2,PDF.NET集成开发工具,下载地址:Application 安装程序

application, 1576K, uploaded May 25, 2011 - 1943 downloads
下载后,请找到运行目录下的 子目录 Config ,然后打开配置文件 DataConnectionCfg.xml ,找到相关的配置节:

<?xml version="1.0" encoding="utf-8" ?> 经过这样的配置以后,就可以直接打开集成开发工具了,如下图: ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201023095144880.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0xhaXR5MDc=,size_16,color_FFFFFF,t_70#pic_center)

总结:

64位系统下.NET访问Access 数据库,最彻底的方法是安装64位的Access数据访问驱动安装程序 并使用新的Access提供程序 Microsoft.ACE.OLEDB.12.0

转载请注明本文地址:未在本地计算机上注册“Microsoft.Jet.Oledb.4.0”提供程序

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
该错误提示表明在本地计算机上未注册"Microsoft.Jet.OLEDB.4.0"提供程序。这个问题常见于使用IIS服务器运行网站或应用程序时。根据引用和引用,我可以给出两种解决方法。 第一种解决方法是在IIS的应用程序池属性中设置启用32位应用程序选项为true。这可以通过打开IIS管理器,找到相应的应用程序池,然后在常规选项卡中将启用32位应用程序设置为true。这样做可以允许在64位操作系统上运行32位的Microsoft.Jet.OLEDB.4.0提供程序。的描述,这个错误也可能与操作系统的位数有关。如果你的操作系统是64位的,而你的应用程序是32位的,那么你可能需要采取以上方法之一来解决这个问题。 总结一下,解决"未在本地计算机注册Microsoft.Jet.OLEDB.4.0提供程序"的方法有两种:一种是在IIS的应用程序池属性中设置启用32位应用程序选项为true,另一种是在生成配置管理器中创建一个新的平台,并将其设置为X86。这样可以确保你的应用程序能够正常调用Microsoft.Jet.OLEDB.4.0提供程序。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [【未在本地计算机注册Microsoft.Jet.OLEDB.4.0提供程序的解决方案】](https://blog.csdn.net/m0_37946533/article/details/122240324)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [解决方法:未在本地计算机注册Microsoft.Jet.OLEDB.4.0提供程序](https://blog.csdn.net/sat472291519/article/details/41007681)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [IIS7.5 提示未在本地计算机注册Microsoft.Jet.OleDb.4.0提供程序](https://download.csdn.net/download/weixin_38502239/14893222)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值