您在哪里为Oracle Crystal提供Oracle的JDBC瘦驱动程序?

时间:2011-10-12 17:53:08

标签: java jdbc crystal-reports

您在哪里保存Oracle的jdbc瘦驱动程序?我试过jre/lib/ext,但我的程序,Crystal Reports一直说它找不到它。我想我把它保存在了错误的地方。

如果我转到命令提示符并使用:

  

C:\ TEMP> java oracle.jdbc.OracleDriver

     

在Fri_Aug_26_08上使用JDK6编译的Oracle 11.2.0.3.0 JDBC 4.0:19:15_PDT_2011
  默认连接属性资源
  2011年10月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

1 个答案:

答案 0 :(得分:3)

将它放在应用程序的运行时类路径中。类路径的文件系统路径取决于您执行应用程序的方式。

根据您的问题历史记录,我看到您正在使用JSP / Servlet,这意味着它是一个在应用程序服务器中运行的WAR文件的Web应用程序。在这种情况下,JAR文件需要进入webapp自己的/WEB-INF/lib文件夹或appserver自己的/lib文件夹。

如果它是一个普通的Java应用程序.class文件,其main()方法由java命令执行,那么您必须使用-cp }(-classpath)参数指定运行时类路径。它需要一组(半)冒号分隔的磁盘文件系统路径。

如果它是JAR文件,则必须在JAR Class-Path文件的/META-INF/MANIFEST.MF条目中指定。这可以相对于java -jar命令的工作目录。

您应该避免将第三方库放在JRE的/lib文件夹中。这可能会引入使用相同JRE的所有其他现有应用程序的类路径问题。