如何在Tomcat 7.0.47启动时注册oracle jdbc驱动程序?

ton*_*ika 5 java oracle tomcat jdbc driver

我将ojdbc6.jar复制到了tomcat安装文件夹中的lib文件夹中。当我部署在JDBC连接中使用Oracle驱动程序的Web应用程序时,服务器会说找不到驱动程序类,并且我被迫手动执行DriverManager.registerDriver,然后它可以工作。

可以这样做,以便在启动时注册驱动程序,而不必创建连接池也不必手动进行?

duf*_*ymo 4

您能澄清一下“tomcat安装文件夹中的lib文件夹”是什么意思吗?它应该指的是 Tomcat 根目录下的 /lib。

Tomcat 7 文档是这样说的:

因此,在 WEB-INF/lib 目录中具有数据库驱动程序的 Web 应用程序不能依赖服务提供程序机制,而应显式注册驱动程序。

正确的做法是设置JNDI 数据源,而不是使用 DriverManager 在代码中创建数据源。

我还建议将驱动程序版本与您的 Oracle 和 JVM 版本相匹配。JDK 6 已达到其支持生命周期。JDK 7 是当前的产品。如果您使用 JDK 7,我建议从 ojdbc6.jar升级。

  • 如果您使用 JNDI 数据源(而且您应该使用 JNDI 数据源),那么这就是它们所属的位置。部署在该 Tomcat 实例上的其他应用程序也将需要它们。如果您不打算使用池数据源,并坚持使用 DataManager 创建每个连接,那么最简单的尝试可能是从 /lib 中删除 JDBC JAR,然后将它们放回 /WEB-INF/lib 中以供您使用。语境。 (2认同)