2011-10-12 83 views
0

哪里可以保存适用于Oracle的jdbc瘦驱动程序?我试过jre/lib/ext,但是我的程序Crystal Reports一直说它找不到它。我想我已经把它保存在错误的地方。您将Crystal Reports的Oracle JDBC驱动程序放在哪里?

如果我去一个命令提示符并使用:oracle.jdbc.OracleDriver

甲骨文11.2.0.3.0 JDBC 4.0 Fri_Aug_26_08编译JDK6 \ TEMP>的java:

C 19 :15_PDT_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

+0

您的应用程序应该有一个首选项窗口(或配置文件),您可以在其中配置外部罐子的路径 –

+0

它应该但它不。 – johnny

回答

3

只需将其放入应用程序的运行时类路径中即可。由类路径覆盖的文件系统路径取决于您如何执行应用程序。

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

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

如果它是一个JAR文件,那么它必须在JAR的/META-INF/MANIFEST.MF文件中的Class-Path条目中指定。这可能与java -jar命令的工作目录有关。

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

+0

现在,我只是尝试一个普通的旧Java控制台应用程序。我正在尝试CR,但由于失败,我正在尝试控制台应用程序。 – johnny

+0

使用'-cp'参数指定包含JAR文件位置的类路径。就像'java -cp。;/path/to/filename.jar com.example.YourClass'。在Windows中,类路径路径将以分号';'分隔。 '.'表示当前目录(以便可以找到YourClass)。 – BalusC

+0

我认为这是在Windows中的类路径变量。 – johnny