private void connectDB() throws NamingException, SQLException {
InitialContext ic = new InitialContext();
DataSource ds = (DataSource) ic.lookup("weblogic.jdbc.jts.oraclePool");
con = ds.getConnection();
stmt = con.createStatement();这样就应该可以的,如果你的weblogic中的连接池设的正确的话。
InitialContext ic = new InitialContext();
DataSource ds = (DataSource) ic.lookup("weblogic.jdbc.jts.oraclePool");
con = ds.getConnection();
stmt = con.createStatement();这样就应该可以的,如果你的weblogic中的连接池设的正确的话。
# Add a TXDataSource for the connection pool:
weblogic.jdbc.TXDataSource.weblogic.jdbc.jts.oraclePool=oraclePoolweblogic中的连接池的设置,我的机器是这样的,你应该对应的修改一下。对了,当时我用的是weblogic5.0(sp9),不知道你现在是否用的是6.0
我在你给的例子之中,找不到设置数据库服务器ip的url.这是不是说,你的数据库和weblogic装在同一台机子上.或者,我需要依靠oracle的客户端才能使用你的例子.
还有supersonics,请问怎样才能确定pool可用,且datasource配置好了.我的weblogic启动正常,没有抱任何错误,不知这是不是算正常.
谢谢两位的答复,如果解决问题,必有分送上.
我也遇到过,配置了pool和datasource,但是却没有和app连接起来而无法使用。
不知道你的是不是这样。
parms.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
parms.put(Context.PROVIDER_URL,"t3://localhost:7001");//localhos为相应的weblogic服务器ip地址
Context ctx = new InitialContext(parms);
javax.sql.DataSource ds = (javax.sql.DataSource)ctx.lookup("spcsourse");
Connection con = ds.getConnection();你的连接程序缺少相应的weblogic服务器地址,
重点就在上面的
parms.put(Context.PROVIDER_URL,"t3://localhost:7001");
//localhos为相应的weblogic服务器ip地址
另外确定的datasouce命名没错,而且pool配置正确,看你的使用好像是weblogic6.0以上的版本吧
PoolName="spcpool" Targets="myserver"/> 好象没错啊.
lick:我已经按照你说的改动了程序,问题依旧.
001-9-27 下午01时13分02秒> <Error> <HTTP> <[WebAppServletContext(1338658,Defau
WebApp_myserver)] Root cause of ServletException
vax.naming.NameNotFoundException: Unable to resolve spcsourse. Resolved: '' Un
solved:'spcsourse' ; remaining name ''
<<no stack trace available>>
程序:Hashtable parms = new Hashtable();
parms.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
parms.put(Context.PROVIDER_URL, "t3://localhost:7001");
Context ctx = new InitialContext(parms);
javax.sql.DataSource ds = (javax.sql.DataSource)ctx.lookup("spcsourse");
Connection con = ds.getConnection();
我的qq是 6512329
name: spcpool
url: jdbc:oracle:thin:@172.16.1.11:1521:spctest
driver classname:oracle.jdbc.driver.OracleDriver
properties:user=spc
password=spc
dll=ocijdbc8
protocol=thin
----------------------
Initial Capacity:4
Maximum Capacity:10
Capacity Increment:2
Login Delay Seconds:1
Refresh Period:1
------------------
targets
chosen :myserver
Test Table Name:spctable
老兄,我们要的就是jndiname,
javax.sql.DataSource ds = (javax.sql.DataSource)ctx.lookup("myjndi");
或者干脆直接把name和jndiname命名相同,比较适合我这种懒人使用的,呵呵,居然把数据库用户名都贴出来了,赶快密码吧!
我想至少这里是错的:lookup的是jndiname,而不是name.
我要给分了。