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
数据源。
2、JDBC-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);
}
}
}