64位系统使用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驱动了,省得折腾:-《)
注意:
如果你安装了 64位的Access程序,但是在VS2013中调试Web网站应用程序的时候,提示“Microsoft.ACE.OLEDB.12.0” 未注册,请在VS的选项中,项目和解决方案,Web项目,勾选64位的 IIS Express 。
如何在不删除32位Office的情况下安装AccessDataEngine64位
时间:2017-09-01 15:24作者:南方数码虎妞阅读:7279评论:12
由于某些64位应用程序需要访问Access数据库,而访问数据库须使用AccessDataEngine即Access数据库引擎64位。而正常情况下,如果有32位Office安装在系统中,AccessDataEngine64位将会提示无法安装,如图:
解决方法:
一、打开控制台cmd
win7打开【开始菜单--所有程序—附件—“命令提示符号”】
Win8打开应用中的“命令行提示符”。
或直接Windows徽标 + R 后输入cmd再回车。
二、找到64位Access数据引擎的目录
如64位Access数据引擎位置在D:SoftwareaccessDataEngine下。
(使用‘cd’命令跳转至该目录)
三、调用安装文件,追加参数 /passive。
例如"D:SoftwareaccessDataEngineAccessDatabaseEngine_x64.exe"/passive
加入了[/passive]参数后,64位Access数据引擎安装就不再检查32位Office是否已安装,而可直接安装。
64位系统使用Access 数据库文件的彻底解决方法相关推荐
- 64位系统使用Access数据库文件的彻底解决方法
64位系统使用Access数据库文件的彻底解决方法 最近,有PDF.NET用户问我怎么在64位系统下无法访问Access数据库的问题,我第一反应是我怎么没有遇到呢?今天一看自己的VS和Office都是 ...
- 64位系统使用Access 数据库文件遇到的错误和解决办法
64位系统中使用32位的Access数据源遇到的问题和解决办法 win32com.client使用不对应的Access数据源可能有以下错误 "C:\Program Files\Python3 ...
- win7 64位系统安装office2013后图标显示不正常解决方法
#win7 64位系统安装office2013后图标显示不正常解决方法# 1 下载filetypesman,软件为绿色版,不用安装,可直接打开使用 2 查看Word.Excel.PPT的安装位置,后边 ...
- ADOLISP在64位系统上读取数据库的解决办法
第一步:确认64位系统上安装了64位的access驱动.安装office2010的64位版本或者去微软平台下载Access 2010的64位驱动(AccessDatabaseEngine_X64.ex ...
- 关于Windows 7 64位系统 HP M1319f 打印机无法扫描的解决办法
此办法主要针对Windows7 64位系统的用户,对于Xp系统或者Windows8系统没有验证. 笔者在将电脑重装成win7 64位系统后在安装hp打印机驱动的时候打印机自带的驱动盘提示不支持64位系 ...
- 64位进程隐藏不蓝屏_浅析Linux 64位系统虚拟地址和物理地址的映射及验证方法...
前言 有好久没更新了,这段时间发生了挺多大喜事哈.但是也还是有挺久没更新了,不得不意识到自己是个小菜鸡,就算是小菜鸡也要做一只快乐小菜鸡.就算更新慢但是我依然会持续更新,因为更文使我快乐. 虚拟内存 ...
- Ubuntu 64位系统下无法开启wineQQ7.8的解决办法
Ubuntu 64位系统下载安装wineQQ7.8后并不能直接打开,原因是wineQQ是32位的,而64位系统默认没安装32位库. 解决办法: 在终端下执行:sudo apt-get install ...
- win7如何开计算机端口,win7旗舰版64位系统快速开启计算机端口的两种方法
不知道大家对于 win7系统 计算机端口的了解有多少,PConline的小编先跟大家普及一下,所谓的计算机"端口"是英文port的义译,可以认为是计算机与外界通讯交流的出口.分软件 ...
- dll文件是什么语言编写的_Win7系统当中libeay32.dll文件丢失的解决方法是什么?...
Win7系统libeay32.dll文件丢失应该如何解决?有不少用户在打开电脑运行游戏的时候却会出现"libeay32.dll文件丢失"的提示,用了很多方法却还是无法解决,那么该问 ...
最新文章
- PTA团体程序设计天梯赛-L2-013 红色警报
- PX Deq: Execution Msg等待事件
- python第三天习题
- java图形界面的监听_非专业码农 JAVA学习笔记 用户图形界面设计与实现-所有控件的监听事件...
- 【youcans 的 OpenCV 例程 200 篇】107. 退化图像的维纳滤波
- html+css+js实现科学计算器
- 盘点 2017 年度最受欢迎的十大 Linux 服务器发行版
- shell脚本执行时报“bad interpreter: Text file busy“的解决方法
- 人列计算机 (节选自《三体》作者:刘慈欣)
- Raki的图论入门到进阶算法简单总结
- oracle中rollup函数与mysql中with rollup区别
- 二元函数的洛必达法则
- 蓝桥杯c语言大一的知识够了吗,参加蓝桥杯后的感受以及个人总结
- 【项目经理产品经理简历套话】工作经历和项目经历的套话
- 使用RawImage播放视频不清晰(改变视频比例后不清晰)的问题解决
- C语言中.和-的区别
- php计算面积,PHP中长方形的面积怎么求
- 小鸟云服务器上线了新的操作系统
- [024] 欢迎大家关注我的微信公众帐号小q机器人(xiaoqrobot)
- 公众号附件链接怎么放?
热门文章
- css animation动画完成后隐藏_css3动画简介以及动画库animate.css的使用
- mysql 重复数据 distinct_MySQL中distinct语句去查询重复记录及相关的性能讨论
- java版数据结构解迷宫问题_C语言数据结构之迷宫问题
- java socket 异常处理_Java Socket常见异常处理 和 网络编程需要注意的问题
- python枪战项目计划书_人肉(共享)代购项目计划书(示例代码)
- ad元件定位孔放在哪一层_打造个人IP系列(4)——确立定位 搭建人设(上)
- html标签强制转换位置,王老师html零基础学习笔记第4课——样式初始化+类型转化...
- mysql查询大于0的标记_MySQL如何查询回答数大于0的问题并分页
- java udp 接收不定长_JAVA UDP通信为什么只能接收一次数据,我想要时刻接收数据,并更新UI,大神们帮我看看程序吧?...
- 毫米波雷达数据处理_基于毫米波雷达的桥梁静挠度采集系统