在J2EE中连接数据库的问题

timpeng 2002-10-11 08:45:37
我在J2EE SERVER使用以下来连接数据库,

InitialContext ctx=new InitialContext();
javax.sql.DataSource ds=(javax.sql.DataSource)ctx.lookup("jdbc/demo"); //jdbc/polls");
Connection con=ds.getConnection();

建立连接就出问题了,出错信息为:
no local string datasource,wrong.client


...全文
50 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoyebing 2002-10-17
  • 打赏
  • 举报
回复
呵呵,不好意思,上面表述有误
1、使用数据源连接数据库
其中的数据源名称(yourDSName)应该是数据源的JNDI名称

2、不建立数据源直接通过连接池连接数据库:
其中的数据源名称应该是连接池名称
maxtiger 2002-10-17
  • 打赏
  • 举报
回复
在控制台建connect pool 和data source
然后查找data source中你设置的jndi名
xiaoyebing 2002-10-17
  • 打赏
  • 举报
回复
呵呵,估计你是忘记建立的数据源的名称或者是忘记建了吧~

连接池应该建立好了吧:)
1、使用数据源连接数据库:
InitialContext ictx = null;
DataSource ds = null;
Connection con = null;
try{
ictx = new InitialContext();
//yourDSName是你建立的数据源的名称,如果你建立的名称是demo,那就是填写demo,而不是jdbc/demo。
ds = (javax.sql.DataSource)ictx.lookup("yourDSName");
con = ds.getConnection();
out.println("数据库连接成功!");
}catch(Exception ex){
out.println("数据库连接失败!");
out.println(ex.getMessage());
}finally{
if (con != null)
con.close();
if (ictx != null)
ictx.close();
}

2、不建立数据源直接通过连接池连接数据库:
InitialContext ictx = null;
DataSource ds = null;
Connection con = null;
try{
ictx = new InitialContext();
//Class.forName("weblogic.jdbc.pool.Driver").newInstance();
//yourPoolName是你建立的数据源的名称,如果你建立的名称是demo,那就是填写demo,而不是jdbc/demo。
con = DriverManager.getConnection("jdbc:weblogic:pool:"+yourPoolName);
out.println("数据库连接成功!");
}catch(Exception ex){
out.println("数据库连接失败!");
out.println(ex.getMessage());
}finally{
if (con != null)
con.close();
if (ictx != null)
ictx.close();
}


wjmmml 2002-10-17
  • 打赏
  • 举报
回复
你在应用服务器里面建立datasource里面,即建立数据员了吗?
esunboy 2002-10-11
  • 打赏
  • 举报
回复
是不是没有配置连接池和数据员呀
Joeblackyang 2002-10-11
  • 打赏
  • 举报
回复
代码好像没问题,
你有没有在console里测试过这个datasource?

67,512

社区成员

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

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