Tomcat4_1_30下Oracle DataSource(Oracle 資料庫連線池)配置

fsz521job發表於2005-11-30

前兩篇關於tomcat資料庫連線池的配置都測試成功,但是如果你在去的資料庫物件OracleDataSource ds = (OracleDataSource)ctx.lookup時使用OracleDataSource物件那麼上述配置是不能成功的,需要一下配置才可:

1. 將$ORACLE_HOME/jdbc/lib/classes.jar Copy 至$TOMCAT_HOME/common/lib (一般情況下可Copy 整個lib下的所有jar檔案)

[@more@]

2. 修改 $TOMCAT_HOME/conf/server.xml, 將DataSource 的定義段插入對應的應用程式...間,如,Web 應用為 techsupport, 則插入 的Context段中,切記。具體內容如下:



factory
oracle.jdbc.pool.OracleDataSourceFactory


maxWait
5000


maxActive
4


password
dstest


url
jdbc:oracle:oci:@testdb


driverClassName
oracle.jdbc.driver.OracleDriver


maxIdle
2


user
dstest

用Tomcat 圖形管理介面配置時要注意進行以下修改:
(1) 一定注意 type="oracle.jdbc.pool.OracleDataSource", factory為oracle.jdbc.pool.OracleDataSourceFactory, 使用者名稱引數是user而不是username
(2) 將DataSource段從GlobalNamingResources移至對應的應用下,否則在Tomcat 4.1.30下執行時出現異常(錯誤),原因不再詳述。

3. 修改自己Web應用程式的web.xml(WEB-INF/web.xml),增加以下內容至web-app段, 放在最靠後的位置:

...
...

oraDB Connection
jdbc/myoracle
javax.sql.DataSource
Container



注意jdbc/myoracle中的jdbc/myoracle與DataSource段中的 一致。

4. java 程式呼叫程式碼

import java.sql.Connection;
import javax.naming.*;
import oracle.jdbc.pool.OracleDataSource;

public class oraDB
{

public oraDB()
{
}

public static Connection getConnection()
{
Connection conn;
try
{
Context ctx = new InitialContext();
OracleDataSource ds = (OracleDataSource)ctx.lookup("java:comp/env/jdbc/myoracle");
conn=ds.getConnection();
return conn;
}
catch(Exception e)
{
e.printStackTrace();
return null;
}
}
}

5. 啟動tomcat 執行就可以了

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/300209/viewspace-810951/,如需轉載,請註明出處,否則將追究法律責任。

相關文章