Posted on 2010-07-25 21:11
断点 阅读(666)
评论(0) 编辑 收藏 所属分类:
WebLogic 10 知识
1、Type 1类型驱动,JDBC-ODBC桥
通常运行Windows平台,需要在客户端安装ODBC驱动,早期Java访问数据库的主要方式,效率较低。
适用于快速的原型系统,没有提供JDBC驱动的数据库如Access ,由于包含多个驱动程序层,其性能一般不适合生产系统
Java-->JDBC-ODBC Bridge---->JDBC-ODBC Library--->ODBC Driver-->Database
驱动程序的类名称是 sun.jdbc.odbc.JdbcOdbcDriver
JDBC URL 的形式为 jdbc:odbc:dsn(dsn 是使用 ODBC 管理员注册数据库的数据源名称)
不是100%JAVA程序,与ODBC之间的接口采用非JAVA方式调用,因此不能在APPLET中使用
{
String url = "jdbc:odbc:jdbc" ;
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection(url, "java", "sun");
}
2、Type 2类型驱动,需要在客户端安装数据库的本地驱动,JDBC请求会转换为对数据库本地API的调用。
利用开发商提供的本地库来直接与数据库通信。
Java-->JDBC-Driver-->DB Client Library-->Database
绕过了ODBC层,性能优于Type1
也称为部分 Java 驱动程序,因为它们直接将 JDBC API 翻译成具体数据库的API
使用第二种模型将开发者限制在数据库厂商的客户机库支持的客户机平台和操作系统
Oracle的OCI驱动就属于Type2
3、Type 3类型驱动,DBC请求通过网络服务器层实现,在网络服务器层可以实现负载均衡,连接池管理等。
第三种驱动程序是纯 Java 驱动程序,它将 JDBC API 转换成独立于数据库的协议。JDBC 驱动程序并没有直接和数据库进行通讯;它和一个中间件服务器通讯,然后这个中间件服务器和数据库进行通讯。这种额外的中间层次提供了灵活性:可以用相同的代码访问不同的数据库,因为中间件服务器隐藏了 Java 应用程序的细节。要转到不同的数据库,您只需在中间件服务器上改变参数。(有一点需要注意:中间件服务器必须支持您访问的数据库格式。)
第三种驱动程序的缺点是,额外的中间层次可能有损整体系统性能。另一方面,如果应用程序需要和不同的数据库格式进行交互,第三种驱动程序是个有效的方法,因为不管底层的数据库是什么,都使用同样的 JDBC 驱动程序。另外,因为中间件服务器可以安装在专门的硬件平台上,可以利用总的结果进行一些优化。
Java--->Jdbc Driver(Type3 jdbc driver)----->java middleware--->JDBC Driver---->Database
Weblogic的Pool驱动程序就是一个Type3的JDBC驱动程序。
4、Type 4类型驱动,为纯Java实现,不需要任何客户端设置。
OCI驱动程序利用Java本地化接口(JNI),通过Oracle客户端软件与数据库进行通讯。Thin驱动程序是纯Java驱动程序,它直接与数据库进行通讯。
JDBC应用的两种架构
两层架构:客户程序直接对数据库发起JDBC请求,Type1、2、4支持两层架构。
多层架构:客户程序将JDBC请求发送到中间层,中间层再将请求发送到数据库。