JDBC驱动程序类型1和2

时间:2011-06-19 14:15:19

标签: java jdbc

为什么我们不能使用JDBC Type 1(JDBC-ODBC Bridge驱动程序)和type 2驱动程序进行Web应用程序开发。

这两个驱动程序需要一些客户端安装。

我对客户端感到困惑,因为当我们在服务器中安装所有驱动程序特定的东西时,客户需要额外的东西。

2 个答案:

答案 0 :(得分:2)

不建议将类型I JDBC-ODBC桥驱动程序用于生产应用程序。它是一个Java 1.0工件,允许通过ODBC立即进行互连以进行开发,仅此而已。

Type II JDBC驱动程序需要本机代码才能工作。它使用特定关系数据库的客户端本机库。您必须能够使用LD_LIBRARY_PATH或其他一些环境变量指向这些库。

您需要一个IV型JDBC驱动程序,它是100%纯Java,无需安装客户端。您只需要CLASSPATH中的JAR文件。

答案 1 :(得分:2)

  

为什么我们不能使用JDBC Type 1(JDBC-ODBC Bridge驱动程序)和type 2驱动程序进行Web应用程序开发。

没有什么可以阻止任何人在Web应用程序中使用Type 1和2驱动程序。但不建议这样做(见第3段)。

Type 1和Type 2驱动程序不能跨平​​台移植。虽然这看起来似乎不是乍一看的问题,但肯定是这样。特别是如果您的单元测试在一个平台上运行,并且您的验收测试和生产环境是另一个平台。看似在一个环境中成功的代码可能在另一个环境中失败。

但是,在Web应用程序中不使用它们的最重要原因是存在本机代码。 本机代码中的某些失败将导致JVM崩溃,这是普遍不喜欢的事情。毕竟,当类型4驱动程序可以简单地断开连接并在故障后清理时,它将导致不必要的停机时间,而不会影响应用程序的其余部分。

就客户端设置而言,客户端安装通常取决于所使用的驱动程序的类型。类型1驱动程序实际上包装另一个数据库API,如ODBC,因此也需要相应的ODBC驱动程序进行设置。类型2驱动程序要求java.library.path中存在DLL或共享对象,通常通过设置PATH或LD_LIBRARY_PATH环境变量来完成。