Access 数据库不同格式连接问题

Posted wss479218170

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Access 数据库不同格式连接问题相关的知识,希望对你有一定的参考价值。

操作环境:win7 64位操作系统,office 2016 64位,ArcGIS 32位,C#程序

问题描述:客户提出“管线数据入库”功能,将外业数据(CAD质检程序导出的标准库)转成空间数据库geodatabase时,提示外业数据库为不可识别的数据库。

解决过程:

Access数据格式目前有三种

   1)   Microsoft Access 数据库(2000格式)(*.mdb)

   2)   Microsoft Access 数据库(2002-2003格式)(*.mdb)

   3)   Microsoft Access 2007-2016数据库(*.accdb):根据电脑中安装office版本有所变动,但都是2007+,此格式默认数据格式为.accdb,可以改成mdb,但本质上不会改变数据格式。

与CAD开发人员核实,标准库Access格式为2007+格式;查看代码CS程序连接外业数据库时采用的连接字符串为Microsoft.Jet.OLEDB.4.0,改成Microsoft.ACE.OLEDB.12.0,重新编译程序,测试程序提示“未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序”错误信息,经上网查询得知

Microsoft.Jet.OLEDB.4.0提出的比较早,使用于2000格式、2002-2003格式,且数据引擎为微软自带,不支持2007+格式;

Microsoft.ACE.OLEDB.12.0兼容以上所有access版本,但要想利用该功能,必须在电脑上安装2007数据库连接组件AccessDatabaseEngine.exe,此组件位数与电脑上安装的office有关,即office为64,此组件也要下载64位。

安装后,再次测试该功能,可用;

弊端:若将程序中所有连接字符串都改成12.0,就需要在电脑中安装2007数据库连接组件,对于CS程序安装部署是一件麻烦事。

疑点:经测试安装2016版本的数据库连接组件,程序不好用。不清楚是否无论电脑上安装何总版本office,都需要另装2007的组件。

参考网站资料:

https://www.cnblogs.com/jinianjun/archive/2011/12/05/2276679.html

2007数据库连接组件下载地址:http://download.microsoft.com/download/7/0/3/703ffbcb-dc0c-4e19-b0da-1463960fdcdb/AccessDatabaseEngine.exe

以上是关于Access 数据库不同格式连接问题的主要内容,如果未能解决你的问题,请参考以下文章

在 Delphi 中的不同数据库中的 MS Access 连接表

如何在 MS Access 中设置相同的显示格式

Access数据表怎么导出.csv格式的文件并附加到oracle数据库?

不可识别的数据库格式怎么办

trunk模式和access模式有啥区别吗?

比较两个 Access 数据库 VBA - 唯一连接