64位系统使用Access 数据库文件的彻底解决方法
最近,有PDF.NET用户问我怎么在64位 系统 下无法访问Access 数据库 的问题,我第一反应是我怎么没有遇到呢?今天一看自己的VS和Office都是32位版本的,所以在VS里面调试访问Access是没有问题的,但是直接 使用 编译好的.NET程序访问Access,就出问题了,报:
最近,有PDF.NET用户问我怎么在64位系统下无法访问Access数据库的问题,我第一反应是我怎么没有遇到呢?今天一看自己的VS和Office都是32位版本的,所以在VS里面调试访问Access是没有问题的,但是直接使用编译好的.NET程序访问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驱动了,省得折腾:-《)
此问题受影响的 PDF.NET 开发框架相关程序:
1,SimpleAccessWinForm 程序,下载地址 , PDF.Net_V4.6 WinForm 数据表单实例
example, 526K, uploaded Mar 27, 2013 - 809 downloads
运行该程序后,请修改 SimpleAccessWinForm.config 文件的内容,如果是第一次运行,程序会自动创建该文件 并自动创建数据库文件,文件内容比如:
<span></span><span>xml version="1.0" encoding="utf-8"</span><span>?></span> <span><span>configuration</span><span>></span> <span><span>connectionStrings</span><span>></span> <span><span>add </span><span>name</span><span>="AccessConn"</span><span> connectionString</span><span>="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=TEST.mdb"</span><span> providerName</span><span>="Access"</span> <span>/></span> <span></span><span>connectionStrings</span><span>></span> <span></span><span>configuration</span><span>></span></span></span></span>
2,PDF.NET集成开发工具,下载地址: 安装程序
application, 1576K, uploaded May 25, 2011 - 1943 downloads
下载后,请找到运行目录下的 子目录 Config ,然后打开配置文件 DataConnectionCfg.xml ,找到相关的配置节:
<span></span><span>xml version="1.0" encoding="utf-8" </span><span>?></span> <span><span>DataConnections</span><span>></span> <span><span>Group </span><span>Name</span><span>="默认分组"</span><span>></span> <span><span>Connection </span><span>DbType</span><span>="SQLServer"</span><span> Name</span><span>="default"</span><span> ConnectionString</span><span>="Data Source=.;Integrated Security=True"</span> <span>/></span> <span><span>Connection </span><span>DbType</span><span>="SQLServer"</span><span> Name</span><span>=".\SQLEXPRESS"</span><span> ConnectionString</span><span>="Data Source=.\SQLEXPRESS;Integrated Security=True"</span> <span>/></span> <span><span>Connection </span><span>DbType</span><span>="SQLServerCe"</span><span> Name</span><span>="SQLCE"</span><span> ConnectionString</span><span>="Data Source=E:\DAC\LocalDB.sdf;Password=sasa;Persist Security Info=True"</span> <span>/></span> <span></span><span>Group</span><span>></span> <span><span>Group </span><span>Name</span><span>="XX二期"</span><span>></span> <span><span>Connection </span><span>DbType</span><span>="SQLite"</span><span> Name</span><span>="SQLite"</span><span> ConnectionString</span><span>="Data Source=E:\jjzd.db"</span><span> Provider</span><span>="PWMIS.DataProvider.Data.SQLite,DataAccess"</span><span>/></span> <span><span>Connection </span><span>DbType</span><span>="SQLServer"</span><span> Name</span><span>="192.168.50.1"</span><span> ConnectionString</span><span>="server=192.168.50.5;uid=sa;pwd=sasa"</span><span> Provider</span><span>=""</span><span>/></span> <span></span><span>Group</span><span>></span> <span><span>Group </span><span>Name</span><span>="分组2"</span><span>></span> <span><span>Connection </span><span>DbType</span><span>="Access"</span><span> Name</span><span>="default"</span><span> ConnectionString</span><span>="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=TEST.mdb"</span><span> Provider</span><span>="Access"</span><span>/></span> <span><span>Connection </span><span>DbType</span><span>="SQLServer"</span><span> Name</span><span>="50.25"</span><span> ConnectionString</span><span>="server=192.168.50.25;uid=sa;pwd=sasa"</span><span> Provider</span><span>=""</span><span>/></span> <span></span><span>Group</span><span>></span> <span></span><span>DataConnections</span><span>></span></span></span></span></span></span></span></span></span></span></span></span>
经过这样的配置以后,就可以直接打开集成开发工具了,如下图:
总结:
64位系统下.NET访问Access 数据库,最彻底的方法是安装64位的Access数据访问驱动安装程序 并使用新的Access提供程序 Microsoft.ACE.OLEDB.12.0

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

1、在Windows11中打开设置。您可以使用Win+I快捷方式或任何其他方法。2、转到应用程序部分,然后单击应用程序和功能。3、查找要阻止在后台运行的应用程序。单击三点按钮并选择高级选项。4、找到【后台应用程序权限】部分并选择所需的值。默认情况下,Windows11设置电源优化模式。它允许Windows管理应用程序在后台的工作方式。例如,一旦启用省电模式以保留电池,系统将自动关闭所有应用程序。5、选择【从不】可防止应用程序在后台运行。请注意,如果您注意到程序不向您发送通知、无法更新数据等,您可

7月29日,在AITO问界第四十万台新车下线仪式上,华为常务董事、终端BG董事长、智能汽车解决方案BU董事长余承东出席发表演讲并宣布,问界系列车型将于今年8月迎来华为干昆ADS3.0版本的上市,并计划在8月至9月间陆续推送升级。 8月6日即将发布的享界S9将首发华为ADS3.0智能驾驶系统。华为干昆ADS3.0版本在激光雷达的辅助下,将大幅提升智驾能力,具备融合端到端的能力,并采用GOD(通用障碍物识别)/PDP(预测决策规控)全新端到端架构,提供车位到车位智驾领航NCA功能,并升级CAS3.0全

DeepSeek 无法直接将文件转换为 PDF。根据文件类型,可以使用不同方法:常见文档(Word、Excel、PowerPoint):使用微软 Office、LibreOffice 等软件导出为 PDF。图片:使用图片查看器或图像处理软件保存为 PDF。网页:使用浏览器“打印成 PDF”功能或专用的网页转 PDF 工具。不常见格式:找到合适的转换器,将其转换为 PDF。选择合适的工具并根据实际情况制定方案至关重要。

4月11日,华为官方首次宣布HarmonyOS4.2百机升级计划,此次共有180余款设备参与升级,品类覆盖手机、平板、手表、耳机、智慧屏等设备。过去一个月,随着HarmonyOS4.2百机升级计划的稳步推进,包括华为Pocket2、华为MateX5系列、nova12系列、华为Pura系列等多款热门机型也已纷纷展开升级适配,这意味着会有更多华为机型用户享受到HarmonyOS带来的常用常新体验。从用户反馈来看,华为Mate60系列机型在升级HarmonyOS4.2之后,体验全方位跃升。尤其是华为M

Oracle 可以通过以下步骤读取 dbf 文件:创建外部表,引用 dbf 文件;查询外部表,检索数据;将数据导入 Oracle 表。

如何在PHP中使用MySQLi建立数据库连接:包含MySQLi扩展(require_once)创建连接函数(functionconnect_to_db)调用连接函数($conn=connect_to_db())执行查询($result=$conn->query())关闭连接($conn->close())

近日,华为宣布将于9月推出一款搭载玄玑感知系统的全新智能穿戴新品,预计为华为的最新智能手表。该新品将集成先进的情绪健康监测功能,玄玑感知系统以其六大特性——准确性、全面性、快速性、灵活性、开放性和延展性——为用户提供全方位的健康评估。系统采用超感知模组,优化了多通道光路架构技术,大幅提升了心率、血氧和呼吸率等基础指标的监测精度。此外,玄玑感知系统还拓展了基于心率数据的情绪状态研究,不仅限于生理指标,还能评估用户的情绪状态和压力水平,支持超过60项运动健康指标监测,涵盖心血管、呼吸、神经、内分泌、

苹果公司最新发布的iOS18、iPadOS18以及macOSSequoia系统为Photos应用增添了一项重要功能,旨在帮助用户轻松恢复因各种原因丢失或损坏的照片和视频。这项新功能在Photos应用的"工具"部分引入了一个名为"已恢复"的相册,当用户设备中存在未纳入其照片库的图片或视频时,该相册将自动显示。"已恢复"相册的出现为因数据库损坏、相机应用未正确保存至照片库或第三方应用管理照片库时照片和视频丢失提供了解决方案。用户只需简单几步
