这是本人第一次用java写东东,问题比较白痴,勿拍啊。想写个很简单的java类做练习,使用weblogic的jdbc数据源连接数据库,下边是我的代码,基本是网上抄来改改的:
Properties  pro=new  Properties();
pro.put(Context.INITIAL_CONTEXT_FACTORY  ,"weblogic.jndi.WLInitialContextFac
tory");
pro.put(Context.PROVIDER_URL,"t3://192.168.56.2:7001");
Context  ctx=new  InitialContext(pro);
DataSource  ds=(DataSource)ctx.lookup("JDBC.0");
Connection  conn=ds.getConnection();
Statement  stmt=conn.createStatement()  ;
ResultSet  rs=stmt.executeQuery("select  *  from  emp")  ;
while(rs.next()){
    System.out.println(rs.getString(1));
}
“JDBC.0”数据源我已经在weblogic里建好了,并且在weblogic上测试连接数据库没问题。
对这个代码有几个问题
1 java程序一跑到Connection  conn=ds.getConnection(); 这里,就报下边的错误at weblogic.jdbc.common.internal.RmiDataSource_1034_WLStub.getConnection(Unknown Source)
2 要运行这段代码,必须建立一个web工程么,就是说有web.xml配置文件的那种工程吗?然后在web.xml文件里设置某个参数,然后lookup函数里才能识别入参“JDBC.0”,是这样的吗?

解决方案 »

  1.   

    如果你想运行你这段代码的话,是不需要建web项目的,只需要在weblogic中配置好自己的数据库,再把weblogic开着就可以直接运行了。不过你建web项目也同样是可以运行的
      

  2.   

    一,数据源有两个名字 一个是给Weblogic自己管理用的,通常叫什么jdbc-0
    一个是JNDI名,这个才是你应该用的。DataSource  ds=(DataSource)ctx.lookup("这里是数据源的JNDI名");二,创建完数据源之后,必须点击配置,在服务器列表中,把相应的服务器打上勾。这样才能在此服务器启动的情况下用JNDI找到此服务器数据源。