gpt4 book ai didi

java - 在没有 ODBC 驱动程序的情况下读取 MS Access 数据库

转载 作者:搜寻专家 更新时间:2023-10-30 20:29:52 25 4
gpt4 key购买 nike

<分区>

我在尝试更新一些代码时遇到了一个非常烦人的问题。有问题的代码从本地 MS Access 文件 (*.mdb) 读取一些(实际上很多)信息,然后对该数据执行一些操作(只是简单的东西)。请记住,我只需要读取数据库,仅此而已。

问题是我正在尝试部署此程序以在 x64 操作系统(主要是 win7)中工作,但我无法 Access 32 位 ODBC 驱动程序。

这是 Access 数据库的代码部分,变量“路径”是一个包含 mdb 文件绝对路径的字符串,正如我所说,这个文件是本地的。

public void openConection()
{
try
{
Properties props = new Properties();
props.put ("charSet", "ISO-8859-1");
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String dbURL = "jdbc:odbc:Driver={Microsoft AccessDriver (*.mdb)};DBQ=";
dbURL += this.path + ";DriverID=22;READONLY=false)";
this.connection = DriverManager.getConnection("jdbc:odbc:Driver={Microsoft AccessDriver (*.mdb)};DBQ=" + this.path, props);
this.statement = this.connection.createStatement();
System.out.println("Success");
}catch(Exception e)
{
System.out.println("Error :" + e);
}
}

这会引发以下错误:

[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified

问题(据我所知)出在这段代码中:

("jdbc:odbc:Driver={Microsoft AccessDriver (*.mdb)};DBQ=" + this.path, props

如果我是正确的,这会尝试将 java jdbc 桥接到 MS Access ODBC,这是一个 32 位驱动程序,因此程序无法 Access 。我试着用谷歌搜索我的问题,但没有找到任何有用的东西,我确实找到了一个 64 位 MS Access 驱动程序,但它需要卸载 32 位版本的 Office。

另外,我想避免必须为此创建 DSN,因为必须将此程序提供给许多不知道如何操作的人。

谢谢。

泽皮

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com