64位系统中连接Access数据库文件的一个问题

近日在windows 7 64位系统中编译以前写的程序,发现在连接Access数据库时总是出现异常,提示“Microsoft.Jet.OLEDB.4.0”未在本机注册,同样的代码在32位的xp系统中却没有问题,经过一番搜索后找到一个比较简便的处理办法,特在此做一下记录。

原因估计:数据库文件使用Access2003格式的*.mdb文件,其对应的OLEDB 4.0在win7 64位系统中支持不是很好。

处理办法:将数据库文件升级为Access2007格式的*.accdb文件,按如下修改连接字符串,其它代码不变。

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=;User ID=;Password=;

修改为

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=;User ID=;Password=;

注意本机还需要安装新版的数据中驱动文件:AccessDatabaseEngine.exe,此文件有32位和64位两个版本分别在本机安装即可,这样同样的代码就可以同时用于32位和64位两种平台了。

posted @   TwinStudio  阅读(463)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示