http://community.csdn.net/Expert/topic/4398/4398477.xml?temp=.2051355

解决方案 »

  1.   

    谢谢.楼上说的是Tomcat的配置,我现在用的是weblogic,会不会有什么差别?
      

  2.   

    谢谢各位的指点
    我已经获得数据源ds = (DataSource)envCtx.lookup("jdbc/care"); 成功了
    但在Connection conn = ds.getConnection();抛出异常
    说无法获得连接,这是怎么回事,请各位指教
      

  3.   

    我把获得连接的语句改写了一下,加上用户名和密码
    Connection conn = ds.getConnection("root","");
    它就出现
    java.sql.SQLException: User: root, failed to be authenticated.
    的异常如果用Connection conn = ds.getConnection();
    它就出现
    java.sql.SQLException: Cannot obtain connection: driverURL = jdbc:weblogic:pool:MySQLConPool, props = {enableTwoPhaseCommit=false, connectionPoolID=MySQLConPool, jdbcTxDataSource=true, dataSourceName=MySQLDataSource}. 
    的异常我用的weblogic 8.1和MySql数据库
    问题出在哪里?请大家支支招,谢谢啦
      

  4.   

    改为:
    Context initCtx = new InitialContext();
    ds = (DataSource)initCtx.lookup("jdbc/care");
    即可。
      

  5.   

    J2EE 1.3 开始,资源是配置在服务器范围的,要使用资源还需要为每一个使用它的 web app 或 ejb 模块配置一个资源引用,应用服务器产品都需要额外的配置文件 映射 全局资源池中的资源到 对应的 web /ejb 模块的资源引用上来,以下是 weblogic , websphere , tomcat 的配置方法: 1. Weblogic 配置资源引用:
    web.xml 和 weblogic-web-jar.xml 在同一个目录下。
    内容如下:
    <resource-description>
    <!--下面是 web.xml 中的引用名字,这是容器内的名字,容器内唯一就可以了。-->
        <res-ref-name>jdbc/care</res-ref-name>
    <!-- 下面是 你在 weblogic 里面配置的名字,这个是全局名字)-->
        <jndi-name>DBPool</jndi-name>
    </resource-description>2. WebSphere 5.1 配置资源引用
    web.xml , ibm-web-bnd.xml 在同一个目录下.
    web.xml 中有这段:
    <web-app id="WebApp">
    <resource-ref id="ResourceRef_1137500561531">
    <res-ref-name>jdbc/alpha</res-ref-name>
    <res-type>java.lang.Object</res-type>
    <res-auth>Container</res-auth>
    <res-sharing-scope>Shareable</res-sharing-scope>
    </resource-ref>
    </web-app>ibm-web-bnd.xml中有这段:
    <webappbnd:WebAppBinding xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:webappbnd="webappbnd.xmi" xmi:id="WebAppBinding_1" virtualHostName="default_host">
      <webapp href="WEB-INF/web.xml#WebApp"/>
      <resRefBindings xmi:id="ResourceRefBinding_1137500561531" jndiName="jdbc/oracle10g/xa/alpha"> <!-- 服务器上配的全局名 -->
        <bindingResourceRef href="WEB-INF/web.xml#ResourceRef_1137500561531"/> <!-- 这个 ResourceRef_1137500561531 通过ID 对应到 web.xml 中 相应的 <res-ref-name /> -->
      </resRefBindings>
    </webappbnd:WebAppBinding>3. Tomcat 4.1- 5.5 配置资源引用:
    server.xml 中添加: 
    <GlobalNamingResources><Resource name="jdbc/global/jndi" type="..." /><ResourceParams name="jdbc/global/jndi" ><parameter> ... </parameter></ResourceParams></GlobalNamingResources>然后在 $Tomcat/conf/Catalina/localhost/ 添加 ${context.path}.xml 
    Catalina 是服务名,server.xml 中有的, localhost 是 host 名,server.xml 也有,
    ${context.path} 是你的应用程序的 request.getContextPath 的名字。
    <Context
        docBase="E:/JavaEnv/Tomcat/webapps/mywebapp"
        path="/mywebapp">
      <ResourceLink name="jdbc/ref/name" global="jdbc/global/jndi" type="javax.sql.DataSource" />
    </Context>