Java oracle精简驱动程序使用哪个jar文件?

Java oracle精简驱动程序使用哪个jar文件?,java,oracle,jdbc,thin,beanshell,Java,Oracle,Jdbc,Thin,Beanshell,我从某人那里继承了一个VM(linux操作系统)。它在tomcat和oracle 11.2.0数据库中部署/运行了一个java应用程序“bob”。我在beanshell(java的轻量级)中编写了一个简单的db连接,如下面的示例所示,它执行得很好,但是我想到了一个问题 Connection con = DriverManager.getConnection("jdbc:oracle:thin:hostname:1521:sidname","username","password"); 我注意到

我从某人那里继承了一个VM(linux操作系统)。它在tomcat和oracle 11.2.0数据库中部署/运行了一个java应用程序“bob”。我在beanshell(java的轻量级)中编写了一个简单的db连接,如下面的示例所示,它执行得很好,但是我想到了一个问题

Connection con = DriverManager.getConnection("jdbc:oracle:thin:hostname:1521:sidname","username","password");
我注意到ojdbc14.jar找到了/somepath/tomcat/webapps/bob/WEB-INF/lib/ojdbc14.jar,并从oracle安装/somepath/oracle/product/11.2.0/xe/jdbc/lib/{ojdbc5.jar、ojdbc6_g.jar、ojdbc6.jar}找到了三个ojdbc jar文件


在本例中,瘦驱动程序使用哪个jar文件来建立数据库连接并成功运行sql查询语句?

您应该去掉
ojdbc14.jar
jdbc5.jar
。第一个用于Java1.4,第二个用于Java5(除非您实际使用这些过时的、不受支持的Java版本)

如果您使用的是Java7,那么应该使用
ojdbc7.jar
。如果您仍在使用(不受支持的)Java6,则应使用
ojdbc6.jar

请注意,文件名中的数字仅表示Java版本,而不是驱动程序的版本。要获得这一点,您需要查看MANIFEST.MF或使用
DatabaseMetaData.getDriverVersion()

关于Tomcat中的类加载:

Tomcat从
$CATALINA_HOME/lib
$CATALINA_HOME/lib/ext
WEB-INF/lib
目录中的一个已部署WebPap加载类

因此,在您的例子中,正在使用过时的
/somepath/tomcat/webapps/bob/WEB-INF/lib/ojdbc14.jar


您应该用最新版本替换。

我明白了。谢谢你回答我的问题。我使用的是Java6,因此将用ojdbc6.jar替换ojdbc14.jar。祝你有幸福的一天!