连接池及JNDI的一些问题!高手相助啊!
我的weblogic自带JDBC驱动连SQLSERVER2000,在控制台里配置一切成功。
下面是我的代码
private Connection connection=null;
private Statement statement=null;
DataSource ds=null;
Context ctx=null;
ctx = new InitialContext();
ds=(DataSource)ctx.lookup("sqlServerJNDI");
connection=ds.getConnection("xj","88888888");
statement=connection.createStatement();
如果仅是这样连,没问题,连接成功可以操作数据库。
问题1:
但如果我改一下:statement=connection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
就不能连接了,不知是何原因!
问题2:
上面的代码应该是只用到了数据原而未用到连接池吧,我是这样理解的,所以我把我的代码添加了一些,变为:
private Connection connection=null;
private Statement statement=null;
DataSource ds=null;
Context ctx=null;
ConnectionPoolDataSource pds;
private PooledConnection pconnection;
private Hashtable ht;
ctx = new InitialContext();
pds=(ConnectionPoolDataSource)ctx.lookup("sqlServerJNDI");
pconnection=pds.getPooledConnection();
connection=pconnection.getConnection();
statement=connection.createStatement();
连接就无法成功,是不是weblogic不需要如此多此一举,已经用到了连接池?
问题3:
看见很多资料上写需要使用weblogic的JNDI,一般的代码如下:
Hashtable ht = new Hashtable();
ht.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
ht.put(Context.PROVIDER_URL,"t3://localhost:7001");
ctx = new InitialContext(ht);
可是我不需要加这些也可以使用JNDI啊,加了反而不行,估计是没有弄清楚其中的意思!望各位高手帮忙!谢了!
问题点数:0、回复次数:3Top
1 楼thebestxu(javascript)回复于 2003-05-24 14:14:24 得分 0
怎么没人跟啊!Top
2 楼zez(思恩 闭关练功ing...)回复于 2003-05-24 21:48:50 得分 0
1 你的驱动不支持那些参数,据说ms 的驱动不支持jdbc 2.0的 .如果是那就换个驱动.weblogic自带的很不错!
2.你配置数据源的时候没注意吗?我的理解数据源之是引用一下连接池而已 ..数据源是要连接连接池的.否则数据源怎么和数据库连接呢 ??
3.这样只是为了客户端和ejb服务器不在一台机子上才用的.主要的是连接远程ejb..
不过在一台机子上应该也没有问题,没有遇到过.Top
3 楼piggiewxb(彬彬)回复于 2003-05-24 22:03:12 得分 0
我不知道你的datasource市这么配置的,datasource必须配置链接池,所以你无需多此一举。
至于问题一,我们一般多用con.createStatement(),至于带参数的方法,你可以查看一下帮组!
Top





