wsad5.1连接Oracle9i数据源的问题,不知道是测试程序错误还是连接错误,敬请高手指教

qianjinrail 2006-09-09 02:33:52
我连好以后 用下面这个小程序去测试
package test;
import java.io.*;
import javax.naming.Context;
import javax.sql.DataSource;
import javax.naming.InitialContext;
import java.sql.*;
import java.util.*;

public class test2{

public test2(){
super();
}

public static void main(String args[]){

javax.sql.DataSource ds = null;
java.sql.Connection con = null;

Properties p = new Properties();
p.put(InitialContext.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.cosnaming.CNCtxFactory");
p.put(InitialContext.PROVIDER_URL, "iiop://localhost:2809");

try {
System.out.println("正在查找数据源\n");
javax.naming.InitialContext ctx = new javax.naming.InitialContext(p);
ds = (javax.sql.DataSource) ctx.lookup("java:comp/env/jdbc/testDS");
System.out.println("已连接数据源\n");
con = ds.getConnection();
con.close();
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("完成\n");
}
}


结果出现如下错误提示 错误代码是ctx.lookup那一行

错误:javax.naming.NameNotFoundException. Root exception is org.omg.CosNaming.NamingContextPackage.NotFound

我不知道是这个程序哪里有问题还是我的配置哪里不对 我的配置步骤大致如下

1.新建动态web项目
2.在web-inf/lib下,导入oracle驱动程序classes12.zip
3.创建WAS V5服务器 类型为“测试环境”
4.加入数据库用户.在"安全性"选项卡中JAAS认证条目中添加数据库用户
5.(只列出可能有问题的步骤)加入JDBC驱动程序 在"数据源"选项卡中定义一个服务器级别的数据源,JDBC提供程序类型:Oracle JDBC Thin Driver。URL设置为jdbc:oracle:thin:@***:1521:DMSDB(其中***是oracle服务器的ip)
6. 在WEB部署描述符编辑器中,在"引用"里添加一个新的资源Reference,类型设为"javax.sql.DataSource; WebSphere绑定为数据源设定的JNDI名(jdbc/OraDs);







...全文
168 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
qianjinrail 2006-09-09
  • 打赏
  • 举报
回复
sorry 这个是我在另一个web项目的测试代码 忘了换过来 我测试的时候数据源的名称没错的
YuLimin 2006-09-09
  • 打赏
  • 举报
回复
java:comp/env/jdbc/testDS

==>

java:comp/env/jdbc/OraDs
qianjinrail 2006-09-09
  • 打赏
  • 举报
回复
1.新建动态web项目

2 在web-inf/lib下,导入oracle驱动程序classes12.zip

3创建WAS V5服务器 类型为“测试环境”

4加入数据库用户
在"安全性"选项卡,接着点击JAAS认证条目清单旁边的"添加"按钮。输入访问数据库的别名用户

身份和密码。

5加入JDBC驱动程序
在"数据源"选项卡中。定义一个服务器级别的数据源。
  数据库类型:Oracle
  JDBC提供程序类型:Oracle JDBC Thin Driver。
点击"下一步"
把"名称"栏设置为Oracle Thin Driver。 输入类路径‘E:\...\classes12.zip’,并确认实现类名为

‘oracle.jdbc.pool.OracleConnectionPoolDataSource’后点击‘确定’按钮:

6加入数据源
再点击"数据源"选项卡。选择前面创建的Oracle Thin Driver,点击"在上面选择的JDBC提供程序中定义

的数据源"清单旁边的"添加"按钮,出现如下对话框。
依次设置以下选项:

  选择JDBC提供程序的类型:Oracle JDBC Thin Driver。

  选择数据源类型:选择V 5.0数据源。



点击"下一步",

  设置下列输入栏目:

  名称:OraDS。

  JNDI名称:jdbc/ OraDS。

  数据源助手类名称:com.ibm.websphere.rsadapter.OracleDataStoreHelper。

  组件管理的认证别名:从下拉列表选择前面设置的JAAS条目,即Database User。

  容器管理的认证别名:从下拉列表选择前面创建的JAAS条目,即Database User。
  在容器管理的持久性(CMP)中使用此数据源:选中该项目。

在如上对话框中,设置下列属性:

  ◆ databaseName:dbname。

  ◆ URL:设置为jdbc:oracle:thin:@***:1521:dbname。监听端口是1521(其中***是oracle服务器的

ip)。
  点击"完成"。
至此为止,加入数据源的操作已经完成。按Ctrl+S键保存该服务器的设置。关闭配置服务器的界面。


7在WEB部署描述符编辑器中,在"引用"里添加一个新的资源Reference,记住类型设

为"javax.sql.DataSource; WebSphere绑定为数据源设定的JNDI名(jdbc/OraDs);

67,550

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧