2011-10-26 128 views
0

我是新來的java和Oracle連接我無法建立從java/tomcat服務到Oracle數據庫的連接。Java/Tomcat和Oracle 10g連接

我使用Java JDK 1.7和Oracle版本:

Oracle Database 10g Express Edition Release 10.2.0.1.0 - Product 
PL/SQL Release 10.2.0.1.0 - Production 
CORE 10.2.0.1.0 Production 
TNS for 32-bit Windows: Version 10.2.0.1.0 - Production 
NLSRTL Version 10.2.0.1.0 - Production 

我添加了一個到CLASSPATH環境變量(Windows Server 2003中) C:\oraclexe\app\oracle\product\10.2.0\server\jdbc\lib\*

我還添加了JAVA斌到PATH和JAVA_HOME(Tomcat使用)

在這個文件夾只有有兩個文件:ojdbc14.jarojdbc14_g.jar

我的Java代碼:

 import java.sql.*; 
     .... 
     .... 

         try 
         {        
           System.out.println("0"); 
           Class.forName("oracle.jdbc.driver.OracleDriver"); 
           System.out.println("1"); 
           Connection conn = DriverManager.getConnection(
            "jdbc:oracle:thin:@//127.0.0.1:1521/xe", 
            "username", "password"); 
           System.out.println("2");      
         } 
         catch (Exception e) 
         { 
           //e.printStackTrace(); 
          System.out.println("exc"); 
         } 

輸出:(看來他拋出一個異常的Class.forName

0 
exc 
+0

什麼樣的例外可能是?我懷疑是一個'ClassNotFoundException',對嗎? – Thomas

回答

1

Tomcat和所有Java EE應用服務器完全忽略了您的CLASSPATH環境變量。 IDE相同。我沒有使用任何一臺機器。

你不應該改變任何腳本來做到這一點。

每個Java EE應用服務器都有一個類加載器層次結構。

首先運行的是引導類加載器。

接下來是服務器類加載器。這些JAR的正確位置是Tomcat server/lib目錄。/lib目錄包含所有部署共有的所有JAR。它們在啓動之前加載WAR文件之前加載。

每個部署的WAR文件都有一個類加載器。運行服務器類加載器後,Tomcat會將放入WEB-INF/lib中的所有JAR以及放置在WEB-INF/classes下的所有.class文件作爲您的項目CLASSPATH處理。

一旦你得到這個工作,接下來要學習如何使用JNDI查找。您發佈的代碼不是一個好主意。讓Tomcat爲您管理連接池。

1

您需要設置類路徑如下:

C:\oraclexe\app\oracle\product\10.2.0\server\jdbc\lib\ojdbc14.jar 

類路徑需要知道要使用的jar,這是生產驅動程序,帶_g的是用於調試目的。使用通配符不適用於設置java類路徑。爲了避免配置類路徑,您可以將ojdbc14.jar複製到$tomcat.home/lib目錄。

0

剛剛打印出來e.printStackTrace();和看天氣異常發生...
如果在Class.forName()則意味着類路徑設置不正確...... 每一件事縫細..只是check..in類路徑

0

驅動程序名稱是worng。

它必須是oracle.jdbc.OracleDriver,而不是您使用的是oracle.jdbc.driver.OracleDriver。

0

您需要在您的項目的部署程序集中包含ojdbc14.jar文件。使用eclipse:

proj - > properties - > Deployment Assembly - > select/webContent - > Add - > JavaBuildPathEnteries - > Next - > ojdbc **。jar - > finish。