【java】jdbc-odbc桥数据库连接

    技术2022-05-18  15

    1、工作原理:

          JDBC- ODBC (Open Database Connectivity,ODBC) 桥驱动程序由Sun Merant公司合开, 主要功能是JDBC API转换ODBC API , 然后ODBC API针对商的ODBC 驱动程序来访问数据, 即利用JDBC- ODBC ODBC来存数据源。如下JDBC-ODBC用模式

                                                                           1.1JDBC-ODBC用模式           JDBC- ODBC 是一个JDBC 驱动程序, ODBC 而言, 它像是通用的用程序, 桥为所有适用于ODBC 的数据库实现JDBC。它作sun.jdbc.odbc 实现, 其中包含一个用来访问ODBC 的本地。由于ODBC 被广泛地使用, 所以点是JDBC 够访问几乎所有的数据支持ODBC 2.x, 是当前大多数据ODBC 驱动程序支持的版本。桥驱动程序Java 用程序提供了一种把JDBC 用映射ODBC 用的方法。因此,需要在客端机器上安装ODBC 驱动JDBC-ODBC JDBCAPI ODBCAPI提供了一个梁,准的JDBC 用翻对应ODBC 用,然后通ODBC 把它们发送到ODBC 数据源。

    2JDBC-ODBC所用的配置

          sun.jdbc.odbc JDK 一起自安装, 无需特殊配置Java 2 SDK 类库中包含了用于JDBC-ODBC驱动程序的, 因此不再需要安装任何附加包就可以使用。但是机需要通生成数据源名(Data Source Names , DSN)来配置ODBC 管理器

    3

    /** * filename: joaccess.java * fuction: 实现jdbc-odbc桥连接方式方式 * writtenby yiliangdian @ 2008-4-18 **/ import java.sql.*;

    public class joaccess {     public static void main(String[] args) {        //建立和数据库的连接时要用好Connection接口         Connection con;        //提供在基层连接上运行SQL语句        Statement sql;        //Statement执行了SQL语句以后,结果值是以结果集的方式返回的。        ResultSet rs;        try {             //jdbc-odbc桥连接方式需要加载jdbc-odbc方式的驱动程序             Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");       }catch(ClassNotFoundException e){            System.out.println(""+e);       }       try{             //DriverManager类是JDBC的管理层,作用于用户和驱动之间。DriverManager类跟踪可用的驱动              //程序,并在数据库和相应驱动程序之间建立连接。chenyuaccess是建立的数据源名称,后两项是               //用户名,密码是建立数据源时设立的与数据库中的密码无关,该用户名密码可以为空。               //不同的数据库连接只需要改变源名称,用户名和密码             con = DriverManager.getConnection("jdbc:odbc:yiliangdian_access","yiliangdian","123456");              //创建Statement,获取Statement实例,用于执行SQL语句             sql = con.createStatement();              //运行查询语句,返回ResultSet对象             rs = sql.executeQuery("select * from chengjibiao");              while(rs.next()){                      String number = rs.getString(1);                     String name = rs.getString(2);                     Date date = rs.getDate(3);                     int math = rs.getInt(4);                       System.out.println("学号:" + number);                     System.out.println("姓名:" + name);                     System.out.println("生日:" + date);                     System.out.println("数学:" + math);                }             con.close();       }catch(SQLException e1)       {                  System.out.println("sql语句出错:"+e1);         } } }


    最新回复(0)