Oracle 的 jdbc 瘦驱动程序保存在哪里?我已经尝试过jre/lib/ext
,但我的程序 Crystal Reports 一直说找不到它。我想我把它保存在错误的地方了。
如果我进入命令提示符并使用:
C:\TEMP>java oracle.jdbc.OracleDriver
Oracle 11.2.0.3.0 JDBC 4.0 compiled with JDK6 on Fri_Aug_26_08:19:15_PDT_2011
Default Connection Properties Resource
Wed Oct 12 14:02:05 EDT 2011
所以我知道它就在那里。
编辑:由于我无法让 CR 工作,我尝试了控制台应用程序,但它找不到驱动程序:
package javaapplication1;
public class JavaApplication1 {
public static void main (String[] args) throws Exception
{
Class.forName ("oracle.jdbc.OracleDriver");
Connection conn = DriverManager.getConnection
("jdbc:oracle:thin:@myserver:1521:mysid", "myid", "mypass");
// @//machineName:port/SID, userid, password
try {
Statement stmt = conn.createStatement();
try {
ResultSet rset = stmt.executeQuery("select BANNER from SYS.V_$VERSION");
try {
while (rset.next())
System.out.println (rset.getString(1)); // Print col 1
}
finally {
try { rset.close(); } catch (Exception ignore) {}
}
}
finally {
try { stmt.close(); } catch (Exception ignore) {}
}
}
finally {
try { conn.close(); } catch (Exception ignore) {}
}
}
}
编辑:在我的计算机上,它位于此处:
C:\Program Files\SAP BusinessObjects\SAP BusinessObjects Enterprise XI 4.0\win32_x86\jdk\jre\lib\ext
最佳答案
只需将其放入应用程序的运行时类路径中即可。类路径覆盖的文件系统路径取决于您执行应用程序的方式。
根据您的问题历史记录,我发现您正在使用 JSP/Servlet,这意味着它是一个在应用程序服务器中运行的 WAR 文件风格的 Web 应用程序。在这种情况下,JAR 文件需要放入 web 应用自己的 /WEB-INF/lib
文件夹或应用服务器自己的 /lib
文件夹中。
如果它是一个普通的 Java 应用程序 .class
文件,其中包含一个由 java
命令执行的 main()
方法,那么您必须使用 -cp
(-classpath
) 参数来指定运行时类路径。它采用(分)冒号分隔的磁盘文件系统路径的集合。
如果它是 JAR 文件,则必须在 JAR 的 /META-INF/MANIFEST.MF
文件的 Class-Path
条目中指定它。这可以相对于 java -jar
命令的工作目录。
您确实应该避免将第 3 方库放入 JRE 的 /lib
文件夹中。这可能会给使用相同 JRE 的所有其他现有应用程序带来类路径问题。
关于java - 用于 Crystal Reports 的 Oracle JDBC 瘦驱动程序放在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7744329/