我正在尝试访问存储在类路径中的数据库。我已经安装了ucanaccess 3.0.0和所有必需的.jars。
这是我到目前为止的代码:
public void login() { Connection conn; try { conn = DriverManager.getConnection("jdbc:ucanaccess:/database/theDB.accdb"); Statement s = conn.createStatement(); ResultSet rs = s.executeQuery("SELECT Student_Number FROM User"); while (rs.next()) { System.out.println(rs.getString(1)); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
这是一个简单的登录屏幕,我只是在单击按钮时测试到数据库的连接。我知道引用绝对文件路径不好,所以我认为将文件放在类路径中会更好。
我收到错误
找不到适用于 jdbc:ucanaccess:file:/ C:/Users/Gandalf/workspace/FubbleApp/bin/database/theDB.accdb的驱动程序
因此,我认为它必须是“ /database/theDB.accdb”,但我不确定如何解决此问题。
任何帮助表示赞赏。提前致谢
您在连接URL中提供的数据库文件(.accdb或.mdb)的路径必须是
绝对路径,或
运行您的应用程序时从当前工作目录开始的相对路径,在您的情况下,该路径似乎是“ C:/ Users / Gandalf / workspace/ FubbleApp / bin /”。
如果希望您的应用程序自动在CLASSPATH中搜索数据库文件,则需要提供您自己的代码来执行此操作,或者 包括一些第三方代码来为您进行搜索。