使用JDBC-ODBC连接Access数据库

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用JDBC-ODBC连接Access数据库相关的知识,希望对你有一定的参考价值。

使用JDBC-ODBC桥连接ACCESS数据库有两种方式:(1)配置ODBC数据源;(2)不配置ODBC数据源。

如果数据库文件为 person.mdb,路径为:G:\ProgramFiles\MyEclipse 6.5\workspace\JdbcOdbcTest\src\ person.mdb。配置的数据源名称为:person

(1)  配置ODBC数据源:

打开ODBC数据源管理器,在“系统DSN(或者用户DSN)”选项卡里面点击“添加”按钮。

在“创建新数据源”窗口选择“Microsoft  Access Driver  (*.mdb)”,注意注意:在Driver 和(*.mdb)之间有空格!!!点击“完成”按钮。在弹出的如下对话框中,“数据源”名写上person,点击“选择”按钮,找到person.mdb数据库文件。点击“确定”,至此完成Access数据源的创建。以下是java程序文件:包括两个文件,JdbcOdbcDriverTest.java和InvokeAccess.java

/* JdbcOdbcDriverTest.java */

// 导入JDBC的相关类

import java.sql.*;

 

publicclassJdbcOdbcDriverTest {

    Connectioncon = null;      // 定义数据库连接对象

    Statementst = null;        // 定义数据库执行对象   

    // 定义连接数据库的方法

    publicvoid connectToAccess() {

       try {

           // 查找JDBC-ODBC-Driver的驱动程序,如果找不到会出错

           Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

 

           // 如果查找成功就尝试连接数据库,DriverManagergetConnection方法有3个参数:

           // (1)表示数据库的URL,每个数据库的URL定义方法不一样 JDBC-ODBC Driver连接Access的定义方法是:

           //    jdbc:odbc:driver={Microsoft AccessDriver(*.mdb)};DBQ=person.mdb

           // (2)表示数据库的用户名;

           // (3)表示数据库的密码;

           con = DriverManager.getConnection("jdbc:odbc:person",

                         "", "");

           System.out.println("Access数据库连接成功!");

       } catch (Exception e) {            // 捕获错误

           System.out.println("连接Access数据库错误!");

           System.out.println(e.getMessage());// 打印出错原因

       }

    }

    // 添加一个学生到Access数据库中,addAStudent方有3个参数:(1)name表示姓名;(2)age表示年龄;(3)introduce表示介绍;

    publicvoid addAStudent(String name, int age, String introduce) {

       try {

           st = con.createStatement();     // 生成数据库执行对象

           st.executeUpdate("insert into student values(‘" + name + "‘,‘" + age + "‘,‘" + introduce + "‘)");

                                       // 执行添加学生的SQL语句

           System.out.println("学生数据添加成功!");

       } catch (SQLException e) {         // 捕获错误

           System.out.println("添加学生数据时发生错误!");

           System.out.println(e.getMessage());

       }

    }

    // 定义关闭数据库的方法

    publicvoid closeConnection() {

       try {

           con.close();                // 关闭数据库

           System.out.println("数据库关闭成功!");

       } catch (SQLException e) {         // 捕获错误

           System.out.println("数据库关闭错误!");

           System.out.println(e.getMessage());

       }

    }

}

 

// InvokeAccess.java,调用Access操作实例

publicclassInvokeAccess {

    publicstaticvoid main(String[] args) {

       System.out.println("Begin to uses jdbc-odbc-Driver to access!");

       JdbcOdbcDriverTest example = newJdbcOdbcDriverTest()// 定义JdbcOdbcDriverTest对象

       example.connectToAccess();                           // 连接Access数据库

       example.addAStudent("Wujing", 23, "A college student!");// 添加一名学生到数据库

       example.closeConnection();                           // 关闭数据库

    }

}

(2)       不配置ODBC数据源:

直接通过java程序(将)操作Access数据库将上述代码中的语句"jdbc:odbc:person"换成"jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=G:\\ProgramFiles\\MyEclipse 6.5\\workspace\\JdbcOdbcTest\\src\\person.mdb"特别注意:在Driver和(*.mdb)之间有空格!!!


本文出自 “仵宁飞” 博客,转载请与作者联系!

以上是关于使用JDBC-ODBC连接Access数据库的主要内容,如果未能解决你的问题,请参考以下文章

Microsoft Access 和 Java JDBC-ODBC 错误

通过 JDBC-ODBC 驱动程序从 Access 中选择时不显示丹麦语字符 [重复]

在 Java 中连接 Microsoft Access 2007 数据库的正确方法是啥?

JAVA中如何通过JDBC-ODBC桥来连接SQLServer数据库

Eclipse 数据源资源管理器和 MS-Access

使用 UCanAccess 代替 JDBC-ODBC Bridge 来读取 excel 表