JDBC-ODBC桥技术的应用与实践

时间:2022-05-20 07:52:30

JDBC-ODBC桥技术的应用与实践

1 JDBC-ODBC桥的工作原理

JDBC-ODBC(Open Database Connectivity,ODBC)桥驱动程序由Sun与Merant公司联合开发,主要功能是把JDBC API调用转换成ODBC API调用,然后ODBC API调用针对供应商的ODBC驱动程序来访问数据库,即利用JDBC-ODBC桥通过ODBC来存取数据源,其应用模式如图1所示。

图1 JDBC-ODBC桥应用模式

从图1可以看出,JDBC-ODBC桥是一个JDBC驱动程序,对ODBC而言,它像是通用的应用程序,桥为所有适用于ODBC的数据库实现JDBC。它作为sun.jdbc.odbc包实现,其中包含一个用来访问ODBC的本地库。由于ODBC被广泛地使用,所以桥的优点是让JDBC能够访问几乎所有的数据库。桥支持ODBC 2.x,这是当前大多数据ODBC驱动程序支持的版本。桥作为包sun.jdbc.odbc与JDK一起自动安装,无需特殊配置。

2 JDBC-ODBC桥所用DNS的配置

Java 2 SDK类库中包含了用于JDBC-ODBC桥接驱动程序的类,因此不再需要安装任何附加包就可以使用。但是客户机需要通过生成数据源名(Data Source Names,DSN)来配置ODBC管理器。DSN是一个把数据库、驱动程序、一些可选的设置连接起来的命名配置。具体配置方法如下(在Windows XP环境下):

(1)在WindowsStart控制面板中,打开性能与维护管理工具数据源(ODBC);

(2)在ODBC数据源管理器中的“系统DSN”中添加系统数据源,要注意,一定要用系统(DSN)数据源,不能用用户(DSN)数据源,因为servlet是伪系统(DSN),所有的jsp、servlet程序,需要连接jdbc-odbc驱动的话,都只能用系统(DSN)数据源,不能用用户(DSN)数据源。

3 加载JDBC-ODBC桥驱动程序

应用程序使用JDBC-ODBC桥连接数据库之前,必须将桥驱动程序类sun.jdbc.odbc.JdbcOdbcDriver添加到名为jdbc.drivers的java.lang.System属性中,或用Java类加载器将其显式地加载。可以用以下方式进行桥的显式加载: Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");加载时,ODBC驱动程序(与所有JDBC驱动程序一样)将创建它自己的实例,同时在JDBC驱动程序管理器进行注册。

4 通过JDBC-ODBC桥建立连接

与数据库建立连接的标准方法是调用DriverManager的方法,即DriverManager.getConnection方法。该方法接受含有某个URL的字符串。DriverManager类(即所谓的JDBC管理层)将尝试找到可与那个URL所代表的数据库进行连接的驱动程序。DriverManager类存有已注册的Driver类的清单。当调用方法getConnection时,它将检查清单中的每个驱动程序,直到找到可与URL中指定的数据库进行连接的驱动程序为止。

5 JDBC-ODBC桥的应用实例

连接一旦建立,就可用来向它所涉及的数据库传送SQL语句。JDBC对可被发送的SQL语句类型不加任何限制。这就提供了很大的灵活性,即允许使用特定的数据库语句,甚至于非SQL语句。然而,它要求用户自己负责确保所涉及的数据库可以处理所发送的SQL语句,否则将自食其果。示例如下:

importjava.sql.*;

publicclassJDBCTest

publicstaticvoidmain(Stringargs[])

Connectionconn;

Statementstmt;

ResultSetrecset;

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

conn=DriverManager.getConnection("jdbc:odbc:jdbctest","test","test");

stmt=conn.createStatement();

Stringquery="insertintouservalues('002','albert')";

stmt.execute(query);

stmt.close();

conn.close();

上一篇:如何使用手机和笔记本进行无线连接上网 下一篇:数字家庭高清设备无线传输

文档上传者
热门推荐 更多>