gpt4 book ai didi

java - 读取 .accdb 数据库时没有任何反应

转载 作者:行者123 更新时间:2023-12-01 22:59:17 26 4
gpt4 key购买 nike

我正在尝试创建一个程序来读取数据库并输出它。我已按照 http://www.codeproject.com/Articles/35018/Access-MS-Access-Databases-from-Java 上的教程进行操作。但是当我运行我的程序时,什么也没有发生。甚至没有错误...

我可能错过了一些东西,但我不知道它可能是什么。这是我的代码:

import java.sql.*;

public class ReadDB {

public static void ReadDB() {

try{
//Source: http://www.codeproject.com/Articles/35018/Access-MS-Access-Databases-from-Java
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String database = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=ratingdb.accdb;";
Connection conn = DriverManager.getConnection(database, "", "");
Statement s = conn.createStatement();

//Read Table
String selTable = "SELECT * FROM RATINGS";
s.execute(selTable);
ResultSet rs = s.getResultSet();
while((rs!=null) && (rs.next()))
{
System.out.println(rs.getString(1) + " : " + rs.getString(2));
}




s.close();
conn.close();

} catch(Exception e){
System.out.println ("Unable to connect to the database");
System.out.println ("Exception: " + e.getMessage());
}



}

}在黑豹发表评论后,我得到了这个错误:java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver]一般错误无法打开进程 0x13f4 线程 0x1204 DBC 0x42170d4 的临时( volatile )Ace DSN 注册表项

编辑:发生新错误:异常:[Microsoft][ODBC Microsoft Access Driver]不是有效的文件名。这是否意味着我使用的驱动程序不存在?

最佳答案

即使它抛出异常,您也无法看到它们,因为您以错误的方式处理了错误。您不应该只是捕获异常并继续前进。这违背了异常处理的整个概念。

您应该执行类似的操作,以便在控制台中打印异常。

try {

//code that throws exceptions

} catch(Exception e) {
e.printStackTrace(); //prints the error to the console and you missed it
}

编辑:您似乎遇到了一些权限问题。

网站摘录 http://support.sas.com/kb/40/228.html

This problem occurs for several reasons, including not having permissions on an ODBC registry key. In such a case, change the permissions on the registry key as follows:

Start the registry editor using the regedit command: select Start ► Run and enter regedit.

If your SAS PC Files Server is on a 64-bit machine, expand the following key: HKEY_LOCAL_MACHINE ► SOFTWARE ► WOW6432NODE ► ODBC.

If your SAS PC Files Server is on a 32-bit machine, expand the following key: HKEY_LOCAL_MACHINE ► SOFTWARE ► ODBC.

Right-click the ODBC folder and select Permissions.

Make sure that the logon ID that is running the SAS process has full control. The problem might also occur due to older ODBC drivers from Microsoft, particularly from Office 2007. To install the newer ODBC drivers, go to Microsoft Access Database Engine 2010 Redistributable.

If you have 32-bit Microsoft Office, download the AccessDatabaseEngine.exe file. Download the other ODBC driver only if you have 64-bit version of Microsoft Office.

如果您尝试创建 .mdb 文件并使用它,请执行此操作

前往文件 -> 选项 -> 常规,并将默认文件格式设置为 Access 2002-2003

并将数据库 URL 更改为

"jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=ratingdb.mdb;";

使用.mdb文件。

要使用 .accdb 文件,请尝试执行此操作,

"jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=ratingdb.accdb;";

关于java - 读取 .accdb 数据库时没有任何反应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23563005/

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