不应该是Datasource,应该有前缀,具体是什么我也忘了,帮你查查,你再哭一会儿

解决方案 »

  1.   

    你没有初始化WEBLOGIC需要的PROPERTIES。
      

  2.   

    先import javax.naming.*;
    然后Context ctx = new InitialContext();
    DataSource ds = (DataSource)ctx.lookup("java:comp/env/datasource");试试看
      

  3.   

    UpbeatJackson(Jackson):前缀,不会吧。包我都导进来了。ll42002(灰舌) :我怎么样操作呀?
     zcjl(莫等闲,白了少年头) :包我都导进来了。按照你说的也不行呀
      

  4.   

    zcjl(莫等闲,白了少年头) 说的对,我说的前缀就是java:comp/env/。既然这样还不行,那就是 ll42002(灰舌)说的,你没有配置好。
      

  5.   

    试试这个:
               Hashtable env = new Hashtable();
               env.put(InitialContext.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
               env.put(InitialContext.PROVIDER_URL,"t3://localhost:7001");
               env.put(InitialContext.SECURITY_PRINCIPAL,"system");
               env.put(InitialContext.SECURITY_CREDENTIALS,"weblogic");
               InitialContext ctx = new InitialContext(env);
               DataSource ds = (DataSource)ctx.lookup("TestDS");另外看看你的数据源是不是配置的对, 其实我自己用都没设置这么多
                InitialContext initialcontext = new InitialContext();
                DataSource datasource = (DataSource)initialcontext.lookup("DataSource_rex");
                conn = datasource.getConnection();就能用了阿?
      

  6.   

    SECURITY 相关的是管理员的口令 密码, 这里好像没必要了
      

  7.   

    javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file:  java.naming.factory.initial就是 InitialContext 相关的2项吧
      

  8.   

    不好意思,我给的tomcat的查找数据源方法
    至于weblogic,我也不清楚
    也是正如楼上ll42002(灰舌)所说吧
      

  9.   

    UpbeatJackson(Jackson):那只是一个建议的写法。
    rex0y(没学好九阳神功就妄想几小时练成乾坤大挪):加了就可以了,可是为什么呀。
    在bmp中相对应的connectdb()中,我就没写呀。怎么就可以呢。是不是上面那段代码weblogic已经加到ejb中了?而开发人员看不到??
      

  10.   

    ctx.lookup("datasource");
    datasource好像是jndi名
      

  11.   

    初始化如下:
    Properties h = new Properties();
    h.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
    h.put(Context.PROVIDER_URL,"t3://localhost:7001");Context ctx = new InitialContext(h);数据源在控制台那边查看一下有没错!