我是 Java 应用程序编程的初学者。
我用 Java 创建了一个数据库应用程序。我使用带有 JDBC-ODBC 驱动程序的 MS Access 数据库。我的应用程序的创建连接代码如下:
private void connection() {
try {
String driverurl = "jdbc:odbc:dharti_data";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection(driverurl,"","");
} catch (SQLException e) {
JOptionPane.showMessageDialog(frm,e.getSQLState(),"Database Access Error",JOptionPane.ERROR_MESSAGE);
} catch (Exception e) {
JOptionPane.showMessageDialog(null,e.getMessage(),"Database Access Error",JOptionPane.ERROR_MESSAGE);
}
}
此代码工作完美,但此代码使用我在“控制面板”>“管理工具”>“数据源 (ODBC)”>“系统 DSN”>“添加数据源”中声明的数据源名称,以及 Microsoft Access 驱动程序 (*.mdb)。
但是当我在另一台 PC 上运行该应用程序时,它无法运行,而是生成数据库错误。
我知道我可以在数据源(ODBC)>系统DSN中声明一个驱动程序,然后它就会运行。但我不想在运行应用程序的每台机器上都执行此操作。我的应用程序应该能够自动获取数据库连接。如何使我的应用程序不需要数据源名称?
最佳答案
String filename = "C:/Lab/northwind.mdb"; // this the path to mdb file
String database = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=";
database+= filename.trim() + ";DriverID=22;READONLY=true}"; // add on to the end
// now we can get the connection from the DriverManager
Connection con = DriverManager.getConnection( database ,"","");
关于java - 在java应用程序中使用数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5367933/