创建到 .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 连接字符串