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位两种平台了。

时间: 2024-10-12 09:47:55

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

VS2010在64位系统中连接64位Oracle出现的问题和解决方法

C#使用System.Data.OracleClient连接Oracle数据库.我的是window7/64位系统,装了一个64位的oralce 11G r2 客户端是64位的 用VS10调试错误信息如下: 尝试加载Oracle客户端库时引发BadImageFomatException.如果在安装64位Oracle客户端组件的情况下以32位模式运行,将出现此问题. 错误原因是VS调试工具是32位,连接的程序所用的OracleClient也是64位的,从而导致兼容问题.当然,如果在64位操作系统上按

win7 64位系统 PB连接oracle数据库出现“oracle library oci.dll could not be loaded”问题的解决方法

今天与大家分享一个自己的学习笔记,希望能给遇到同样问题的人带来帮助. 不知道大家在win7 64位系统下用 PB连接oracle数据库时,是否遇到过“oracle library oci.dll could not be loaded”问题. 今天,在win7 64位系统下用 PB连接oracle数据库时,一直出现上述错误,在百度上找了很久,都没有找到一个完整的解决方案,咨询了很多人,(他们都说是我的PB和oracle没装好,但我装的时候没出现任何问题,一切都很顺利,而且PB和oracle都能正

64位Winows2008下连接Access数据库 Jet4.0不支持解决代替方案

如何在windows2008 64位的机子上连接Access数据库 用以前的连接Access数据库的方式Provider=Microsoft.Jet.OLEDB.4.0在32位机子上可以使用,在64位上不能使用,可以使用代替方案-微软Access数据库引擎2010下载安装后 更改使用下面的连接串可以解决. Microsoft Access データベース エンジン 2010 (微软Access数据库引擎2010)    AccessDatabaseEngine_X64.exe 下载 http://

关于 64位系统 java连接access 报错java.sql.SQLException: [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序

报错的原因是url = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=E:/公司/2000.mdb"; 这样是不行滴,要改成 url = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=E:/公司/2000.mdb"; 我去,网上找了好久好久,才找到...

GNU Linux 64位系统中fatal error: stdio.h: 没有那个文件或目录的错误的解决方法

在64位系统中,编写一个C语言程序后,使用gcc进行编译时,出现了如下的错误: test.c:1:19: fatal  error: stdio.h: 没有那个文件或目录 #include <stdio.h> 针对以上的情况,对于在32环境下一般不会出现这个问题,因为已经把libc的头文件包括在系统中了,那么针对这样的情况,主要检查是否安装了完备的开发环境: build-essential package - Installs the following collection to compi

64位系统中为VS2012添加OpenGL工具包

之前一直都是按照网上教程进行的添加,以前使用的系统是32位的,所以一直都没有问题.最近换了64位系统,要使用到OpenGL,于是就又进行了原来的工作,但进行测试时,老是失败: 但是在目录:"C:\Windows\System32"下我已经放了这个dll,于是思考会不会是因为64位系统的问题,所以就在"glut32.dll"和"glut.dll"拷贝了一份放到了"C:\Windows\System"下,再次运行,发现已经能够正常

Java Web项目中连接Access数据库的配置方法

本文是对前几天的"JDBC连接Access数据库的几种方式"这篇的升级.因为在做一些小项目的时候遇到的问题,因此才决定写这篇博客的.昨天已经将博客公布了.可是后来经过一些验证有点问题,所以今天改了一下又一次的公布了 老师决定期末考试採用access数据库实现增删改查.我觉得如今的我已经没有问题了.可是曾经都是在JSP页面中连接access数据库,不管是下面的那种方式都进行了连接的练习,可是如今我想让我的项目中的訪问access数据库的java代码,封装到DAO中,在DAO中连接数据库,

Win7 64位系统 Matlab 访问 Mysql 数据库(详细!)

Win7   64位系统 Matlab 访问 Mysql 数据库 PS:  看了很多网上用Matlab 连接Mysql 的技术贴,但是实际自己操作时总是出现问题,现写下详细的技术贴,希望以后少走弯路!后续还会写一些matlab的数据库语句! 实例: I)下载得到mysql-connector-java-5.1.35-bin.jar: http://dev.mysql.com/downloads/connector/j/ 下载:mysql-connector-java-gpl-5.1.35.msi

.Net Core 部署到 CentOS7 64 位系统中的步骤

.Net Core 部署到 CentOS7 64 位系统中的步骤 建议使用 root 管理员账户操作 1.安装工具 1.apache 2..Net Core(dotnet-sdk-2.0) 3.Supervisor(进程管理工具,目的是服务器一开机就启动服务器 上发布的ASP.NET Core Web网站) 2.安装apache 在安装apache之前,要先做一件事就是,把当前登录用户权限设置为root相同的权限,否则 在执行sudo命令时会报 "不在 sudoers 文件中.此事将被报告&qu