创建到 .accdb 访问文件的连接

Posted

技术标签:

【中文标题】创建到 .accdb 访问文件的连接【英文标题】:Create Connection to .accdb Access File 【发布时间】:2013-08-15 02:30:51 【问题描述】:

我已经在这门课上学习了几天,现在正在网上搜索以寻找解决方案。我在这里要做的是连接到带有扩展名.accdb 的Access 2010 数据库我已经成功连接到带有.mdb 扩展名但不是.accdb 的旧数据库

我已尝试卸载 Office 并为 x64 版本重新安装它,然后安装 Access x64 工具。我使用以下代码时收到的错误如下:

java.sql.SQLException: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified

目前我不知道是什么原因造成的。需要指出的是,我需要在没有指定 DSN 的情况下进行此设置,因为它可能在多台机器上运行,我不想在每台机器上都设置和维护 DSN。

String database = "jdbc:odbc:DRIVER=Microsoft Access Driver (*.mdb, *.accdb);DBQ=C:\\Users\\Brandon\\Dropbox\\Work\\Angent Profiles\\Database1.accdb;";
Connection conn = null;

    try 
        conn = DriverManager.getConnection(database, "", "");
     catch (SQLException SQLE) 
        System.out.println("ERROR: " + SQLE);
     

如有任何建议,将不胜感激。

编辑:

C:\Windows\system32>java -version
java version "1.7.0_25"
Java(TM) SE Runtime Environment (build 1.7.0_25-b17)
Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode)

C:\Windows\system32>

编辑:

Provider=Microsoft.ACE.OLEDB.15.0;Data Source=C:\Users\Brandon\Dropbox\Work\Angent Profiles\Database1.accdb;Persist Security Info=False



String database = "jdbc:odbc:DRIVER=Microsoft.ACE.OLEDB.15.0 (*.mdb, *.accdb);Data Source=C:\\Users\\Brandon\\Dropbox\\Work\\Angent Profiles\\Database1.accdb;";

【问题讨论】:

你能发布你的 JVM 字符串 (java -version) 吗? 已编辑以包含 JVM 字符串 尝试the answer to this question 中的技巧,看看该连接字符串是否与您使用的匹配。 否定的,即使连接字符串不同,它仍然不起作用。 为了傻笑,发布新的? 【参考方案1】:

我相信您需要运行 32 位 JRE 才能连接访问数据库。据我了解,目前没有可用的 64 位访问 ODBC 驱动程序。

【讨论】:

以上是关于创建到 .accdb 访问文件的连接的主要内容,如果未能解决你的问题,请参考以下文章

从 C# 连接到 .accdb。 “无法识别的数据库格式”错误

microsoft access 2010 .accdb 的 SQL 连接字符串

读取大型 .accdb 文件引发异常“现有连接被远程主机强行关闭”

ms 访问 accdb 到 accdr 转换

使用 pyodbc 在 accdb 文件中写入列注释

PDO 留下 .laccdb 文件