java - 在java应用程序中使用数据库

标签 java jdbc

我是 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/

相关文章:

java - 将文件保存到Java中的特定目录?

java - 打开 JDBC ResultSets 的数量是否有限制?

mysql - 无法通过本地主机将谷歌应用程序脚本连接到 mysql

java - H2 的嵌入式数据库在哪里存储数据?

java - 错误:找不到com.android.tools.build:gradle:3.5.3

java - 在私有(private)实用程序类构造函数中使用的首选 Throwable 是什么?

Java 存储过程无法在 DB2/400 V6R1 上运行 - 它曾经在 V5R4 上运行

java - JAVA Web 应用程序中基于表单的身份验证重试

java.sql.SQLException : Column not found 异常

java - 如何在 MySQL 的 SQL 查询中将 ArrayList<> 作为 IN 子句传递