为什么我们不能使用JDBC Type 1(JDBC-ODBC Bridge驱动程序)和type 2驱动程序进行Web应用程序开发。
这两个驱动程序需要一些客户端安装。
我对客户端感到困惑,因为当我们在服务器中安装所有驱动程序特定的东西时,客户需要额外的东西。
答案 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环境变量来完成。