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

时间:2022-01-20 21:56:07

1、工作原理:

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

【java】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-ODBCJDBCAPIODBCAPI提供了一个梁,准的JDBC用翻对应ODBC用,然后通ODBC把它们发送到ODBC数据源。

2JDBC-ODBC所用的配置

      sun.jdbc.odbcJDK一起自安装,无需特殊配置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);
        }
}
}