前两篇关于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/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/300209/viewspace-810951/