[英]Java/Tomcat and Oracle 10g connection
我是java和Oracle連接的新手我無法建立從java / tomcat服務到Oracle數據庫的連接。
我正在使用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
我在環境變量(Windows Server 2003) C:\\oraclexe\\app\\oracle\\product\\10.2.0\\server\\jdbc\\lib\\*
添加了一個CLASSPATH
我還將JAVA bin添加到PATH和JAVA_HOME(由TOMCAT使用)
在此文件夾中只有兩個文件: ojdbc14.jar
和ojdbc14_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
您需要設置類路徑,如下所示:
C:\oraclexe\app\oracle\product\10.2.0\server\jdbc\lib\ojdbc14.jar
classpath需要知道要使用的jar,這是生產驅動程序,帶有_g的驅動程序用於調試目的。 使用通配符不適用於設置java類路徑。 為了避免配置類路徑,您只需將ojdbc14.jar復制到$tomcat.home/lib
目錄即可。
Tomcat和所有Java EE應用服務器完全忽略您的CLASSPATH環境變量。 IDE也是如此。 我在任何使用的機器上都沒有。
您也不應該更改任何腳本來執行此操作。
每個Java EE應用服務器都具有類加載器的層次結構。
第一個運行的是bootstrap類加載器。
接下來是服務器類加載器。 這些JAR的正確位置是Tomcat服務器/ lib目錄。 / lib目錄包含所有部署通用的所有JAR。 它們在啟動時在WAR文件之前加載。
部署的每個WAR文件都有一個類加載器。 在運行服務器類加載器之后,Tomcat會將您放在WEB-INF / lib中的所有JAR以及放在WEB-INF / classes下的所有.class文件視為項目CLASSPATH。
一旦你開始工作,下一步就是學習如何使用JNDI查找。 您發布的代碼不是一個好主意。 讓Tomcat為您管理連接池。
驅動程序名稱是worng。
它必須是oracle.jdbc.OracleDriver,而不是您使用的是oracle.jdbc.driver.OracleDriver。
您需要在項目的Deployment Assembly中包含ojdbc14.jar文件。 使用eclipse:
proj - > properties - > Deployment Assembly - > select / webContent - > Add - > JavaBuildPathEnteries - > Next - > ojdbc ** .jar - > finish。
只需打印出e.printStackTrace();
並看到天氣異常發生......
如果它在Class.forName()
那么這意味着類路徑沒有正確設置......每一件事都縫得很好..只需檢查..類路徑
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.