javax.naming.NameNotFoundException: Name jdbc is not bound in this Context 
这个是出现的提示

解决方案 »

  1.   

    页面导入了:
    import javax.naming.*;
    吗?
      

  2.   

    web.xml配置了吗?<?xml version="1.0" encoding="ISO-8859-1"?>
       <!DOCTYPE web-app PUBLIC
       "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
       "http://java.sun.com/dtd/web-app_2_3.dtd">
    <web-app>
     <description>MSSql server Test App</description>
     <resource-ref>
         <description>DB Connection</description>
         <res-ref-name>jdbc/my51sogoDB</res-ref-name>
         <res-type>javax.sql.DataSource</res-type>
         <res-auth>Container</res-auth>
     </resource-ref></web-app>
      

  3.   

    initCtx.lookup is OK!
    org.apache.commons.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null' 
    新问题
    我以经把MSSQL的三个文件JAR 放到这个网站的LIB下面了。
    为什么还是会出错?
      

  4.   

    请主义 将你上面的<context>;;;;</context>放到 tomcat的 server.xml中的</host> 前面...应该能行.
      

  5.   

    是放在 <host> </host>里面的
      

  6.   

    参考:
    Tomcat5+Mssql server 2000数据库连接池配置之旅(转帖)Tomcat相信大家已经很熟悉了,作为一种免费而强大的java web server,得到了很多java爱好者的青睐,最新版本的tomcat5支持servlet2.4和jsp2.0,今天我将采用Tomcat5和Ms sqlserver 000一起来开始数据库连接池配置之旅。
    需要的准备
    1、jdk 我使用的版本1.4.01
    2、Tomcat 5 我使用的是5.0.16版本 下载地址:http://jakarta.apache.org/site/binindex.cgi
    3、Mssql server 2000 数据库
    4、Mssql server 2000的官方jdbc driver ,可以到微软的官方网站免费下载好了在安装完上面的软件之后,就进入配置实战了:)一、找到jdbc的安装目录,把lib目录下面的msbase.jar和mssqlserver.jar、msutil.jar三个文件一起copy到$CATALINA_HOME/common/lib/($CATALINA_HOME代表的是你的tomcat5的安装目录)二、用文本编辑器,我这是使用editplus(她可是我的挚爱奥)打开$CATALINA_HOME/conf/server.xml文件,找到配置context的地方,把下面的代码
    粘贴到文件里面<Context path="/DBTest" docBase="D:\rautinee work\db\"
           debug="5" reloadable="true" crossContext="true"> <Logger className="org.apache.catalina.logger.FileLogger"
                prefix="localhost_DBTest_log." suffix=".txt"
                timestamp="true"/> <Resource name="jdbc/TestDB"
                  auth="Container"
                  type="javax.sql.DataSource"/> <ResourceParams name="jdbc/TestDB">
       <parameter>
         <name>factory</name>
         <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
       </parameter>   <!-- Maximum number of dB connections in pool. Make sure you
            configure your mysqld max_connections large enough to handle
            all of your db connections. Set to 0 for no limit.
            -->
       <parameter>
         <name>maxActive</name>
         <value>100</value>
       </parameter>   <!-- Maximum number of idle dB connections to retain in pool.
            Set to 0 for no limit.
            -->
       <parameter>
         <name>maxIdle</name>
         <value>30</value>
       </parameter>   <!-- Maximum time to wait for a dB connection to become available
            in ms, in this example 10 seconds. An Exception is thrown if
            this timeout is exceeded.  Set to -1 to wait indefinitely.
            -->
       <parameter>
         <name>maxWait</name>
         <value>10000</value>
       </parameter>   <!-- MSSQLserver dB username and password for dB connections  -->
       <parameter>
        <name>username</name>
        <value>sa</value>
       </parameter>
       <parameter>
        <name>password</name>
        <value></value>
       </parameter>   <!-- Class name for mssqlserver JDBC driver -->
       <parameter>
          <name>driverClassName</name>
          <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
       </parameter>   <!-- The JDBC connection url for connecting to your mssqlserver dB.-->
       <parameter>
         <name>url</name>
         <value>jdbc:microsoft:sqlserver://localhost:1433;databasename=Northwind</value>
       </parameter>
     </ResourceParams>
    </Context>注意:我本地的数据库的sa的密码为空,数据库使用的是Northwind,我的目录名DBTest,他的目录是D:\rautinee work\db\打开DBTest下面的web.xml文件,用下面的代码替换原来的内容<?xml version="1.0" encoding="ISO-8859-1"?>
       <!DOCTYPE web-app PUBLIC
       "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
       "http://java.sun.com/dtd/web-app_2_3.dtd">
    <web-app>
     <description>MSSql server Test App</description>
     <resource-ref>
         <description>DB Connection</description>
         <res-ref-name>jdbc/TestDB</res-ref-name>
         <res-type>javax.sql.DataSource</res-type>
         <res-auth>Container</res-auth>
     </resource-ref>
    </web-app>ok,配置完成,下面的工作是需要编写两个文件测试一下,连接是否成功。这里我用了http://jakarta.apache.org上面的例子首先是bean文件package foo;import javax.naming.*;
    import javax.sql.*;
    import java.sql.*;public class DBTest { String foo = "Not Connected";
     int bar = -1;
       
     public void init() {
       try{
         Context ctx = new InitialContext();
         if(ctx == null ) 
             throw new Exception("Boom - No Context");     DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/TestDB");     if (ds != null) {
           Connection conn = ds.getConnection();
                 
           if(conn != null)  {
               foo = "Got Connection "+conn.toString();
               Statement stmt = conn.createStatement();
               ResultSet rst = 
                   stmt.executeQuery("select * from orders");
               if(rst.next()) {
                  foo=rst.getString("CustomerID");
                  bar=rst.getInt("OrderID");
               }
               conn.close();
           }
         }
       }catch(Exception e) {
         e.printStackTrace();
       }
    }public String getFoo() { return foo; }
    public int getBar() { return bar;}
    }
    然后是index.jsp文件<html>
     <head>
       <title>DB Test</title>
     </head>
     <body> <%
       foo.DBTest tst = new foo.DBTest();
       tst.init();
     %> <h2>Ms sql server 2000 java search Results</h2>
       Foo <%= tst.getFoo() %><br/>
       Bar <%= tst.getBar() %> </body>
    </html>
    'www.knowsky.com编译运行,如果不出意外,应该检索到一条记录,我的ie中显示的是
    Ms sql server 2000 java search Results
    Foo VINET
    Bar 10248 ok,配制成功!
      

  7.   

    org.apache.commons.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null' 
    这个问题还是没解决
    条件和上面的一样