CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  WebSphere >  开发工具/WSAD

WSAD 中用JNDI联接数据库问题。

楼主happynight(泪)2003-08-03 11:42:39 在 WebSphere / 开发工具/WSAD 提问

在Servlet的处理请求中如下代码:  
   
  Properties   env=new   Properties();  
  env.put(Context.INITIAL_CONTEXT_FACTORY,  
  "com.ibm.websphere.naming.WsnInitialContextFactory");  
  env.put(Context.PROVIDER_URL,"iiop://catghost:900");  
  Context   ctx=new   InitialContext(env);  
  DataSource     ds=(DataSource   )ctx.lookup("jdbc/OraTest");  
  运行通过,可是加上以下代码:  
                      Connection   conn=ds.getConnection();  
   
  就会出现如下错误:  
   
  java.sql.SQLException:   CONM7005E:类   (oracle.jdbc.driver.OracleDriver)   不实现   javax.sql.ConnectionPoolDataSource   或   javax.sql.XADataSource  
  .....  
   
  可是用:  
  ConnectionPoolDataSource   ds=(ConnectionPoolDataSource)ctx.lookup("jdbc/OraTest");实现时又出现如下错误:  
  java.lang.ClassCastException:   com.ibm.ejs.cm.JDBC1PhaseRF  
  at   testjdbc.TestEnv.performTask(TestEnv.java:49)  
  at   testjdbc.TestEnv.doGet(TestEnv.java:24)  
  at   javax.servlet.http.HttpServlet.service(HttpServlet.java:740)  
  at   javax.servlet.http.HttpServlet.service(HttpServlet.java:853)  
  at   com.ibm.servlet.engine.webapp.StrictServletInstance.doService(ServletManager.java:827)  
  ....  
   
  不知是什么原因,请高手指教。Thanks.  
  问题点数:0、回复次数:6Top

1 楼Angeller(天使姐姐)回复于 2003-08-03 13:24:50 得分 0

小弟弟啊,你在服务器上配数据源了吗?  
  没有配吧,嘻嘻  
   
  查查帮助,配置ORACLE的数据源,大约四五步吧  
  哈哈Top

2 楼happynight(泪)回复于 2003-08-04 09:29:09 得分 0

是在WAS上的资源中添加新的JDBC驱动程序吗?  
  我以经添加了,可是还不行。  
  怎么办?Top

3 楼maafei(不常来这里)回复于 2003-08-04 14:41:32 得分 0

首先要配置jndi数据源,指定需要的class12.zip文件。  
  我是这样写的,供你参考。  
  //创建参数列表以访问命名系统  
  Hashtable   parms   =   new   Hashtable();  
  parms.put(Context.INITIAL_CONTEXT_FACTORY,   "com.ibm.ejs.ns.jndi.CNInitialContextFactory"); //   访问命名系统  
  ctx   =   new   InitialContext(parms); //   从命名系统中获取   DataSource   工厂对象  
  ds   =   (DataSource)ctx.lookup("jdbc/ora8"); //   使用   DataSource   工厂获取数据服务器连接  
  Cn   =   ds.getConnection(MyUserID,MyPassWord); //   创建statement  
  St   =   Cn.createStatement();  
   
  要有用户名和密码的。Top

4 楼happynight(泪)回复于 2003-08-04 17:05:03 得分 0

还是不行,这回出现如下错误:  
  java.sql.SQLException:   CONM7005E:类   (oracle.jdbc.driver.OracleDriver)   不实现   javax.sql.ConnectionPoolDataSource   或   javax.sql.XADataSource  
  可是用ConnectionPoolDataSource时  
  又有如下错误:java.lang.ClassCastException:   com.ibm.ejs.cm.JDBC1PhaseRF  
   
  这是什么原因呢     苦恼....-_-  
   
  Top

5 楼brownxdz(飞人)回复于 2003-09-05 17:44:24 得分 0

建议将900改成2809默认端口Top

6 楼Martin2002()回复于 2003-09-07 10:53:36 得分 0

关于这个问题,本人已经在论坛中回答过若干次,请不要总是重复提问,建议首先查询一下论坛中的贴子,然后再提问,这样对大家都好.Top

相关问题

  • 联接数据库出错
  • 如何联接数据库?
  • 共享数据库联接
  • 数据库联接问题
  • 数据库联接问题
  • Access数据库联接和MySQL数据库联接
  • 如何用asp联接sybase数据库?
  • 数据库的联接问题
  • 有关ADO联接数据库问题
  • treeview和数据库联接问题

关键词

  • 命名
  • 数据
  • jdbc
  • ds
  • ibm
  • 系统
  • oracle
  • servlet
  • sql
  • connectionpooldatasource

得分解答快速导航

  • 帖主:happynight

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo