gpt4 book ai didi

java - 在未安装 MS Access 的情况下将 Java 连接到 MS Access 数据库

转载 作者:太空宇宙 更新时间:2023-11-04 07:40:47 25 4
gpt4 key购买 nike

我创建了一个 CRUD 应用程序,该应用程序的连接方法如下。我已经在我的计算机上对其进行了测试并且工作正常,但是在另一台未安装 MS Access 的计算机上进行测试时,它抛出了 NullPointerException。

那么我应该怎么做才能解决这个问题呢?是否有用于连接 .mdb 文件的库?

这些也应该在 Linux 上运行。如果有可用的库,我可以将 .mdb 文件转换为 Open Office Base...

void DoConnect()
{
try{
String current = new java.io.File( "." ).getCanonicalPath();
current+="\\DataBases\\Quiz.mdb";
String host = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ="+current+";";
String uName = "";
String uPass = "";
con=new Connection[Size];
stmt=new Statement[Size];
for(int i=0;i<Size;i++)
{
con[i]=DriverManager.getConnection(host, uName, uPass);
stmt[i]=con[i].createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
}
ts=stmt[0].executeQuery("SELECT * FROM Quiz");
ts.first();
rs=stmt[1].executeQuery("SELECT ANSW FROM Quiz");

System.out.print(rs.getString("STM1"));
}catch (IOException | SQLException err) {

}
}

最佳答案

Are there any libraries for connecting to mdb files ?

是的,有。 Jet 数据库引擎包含在 Windows 中,但仅提供 32 位版本。如果您的应用程序作为 64 位进程运行,那么您需要在计算机上安装 64 位版本的 Access 数据库引擎(也称为 ACE)。您可以在此处下载 Access 数据库引擎:

http://www.microsoft.com/en-us/download/details.aspx?id=13255

请注意,要使用 Access 数据库引擎,您可能需要将连接字符串调整为...

String host = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ="+current+";";

...如果这在未安装 Access 数据库引擎的 32 位计算机(即仅具有 Jet 数据库引擎的计算机)上不起作用,那么您的代码可能必须

  1. 首先尝试 Jet 连接字符串(即您的原始连接字符串),如果失败,则

  2. 尝试 ACE 连接字符串(即本答案中的字符串)。

关于java - 在未安装 MS Access 的情况下将 Java 连接到 MS Access 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16100808/

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