http://expert.csdn.net/Expert/topic/1190/1190848.xml?temp=.4168207

解决方案 »

  1.   

    能不能给一个完整的例子呀,老大,包括具体的XML配置!多谢
      

  2.   

    我的server.xml中这样写的
    <ResourceParams name="jdbc/dbconnection">
           <parameter><name>user</name><value>sa</value></parameter>
           <parameter><name>password</name><value> </value></parameter>
            <parameter><name>driverClassName</name>
    <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value></parameter><parameter><name>driverName</name><value>jdbc:microsoft:sqlserver:192.168.1.3:1433;databasename=zggc</value></parameter></ResourceParams>
    --------------测试代码为:
    <%@ page import="java.sql.*"%>
    <%@ page import="javax.naming.Context"%>
    <%@ page import="javax.sql.DataSource"%>
    <%@ page import="javax.naming.InitialContext"%><%
          DataSource ds = null;
          Connection con=null;
          try{
              Context initCtx = new InitialContext();
              Context envCtx = (Context) initCtx.lookup("java:comp/env");
              ds = (DataSource)envCtx.lookup("jdbc/EmployeeDB");
              con = ds.getConnection();
    Statement  stmt  =  con.createStatement();
    stmt.executeUpdate("insert into test (test) values ('测试') ");
    }catch(Exception ex){
                  System.out.println(ex.getMessage());
    }
        
    %>
    我的classpath为:C:\JBuilder7\jdk1.3.1\lib\tools.jar;C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msbase.jar;C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msutil.jar;C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\mssqlserver.jar
    执行时不报任何错误,但是没有在数据表里面插入字串“测试"是什么原因,多谢了!!!!!!!!!!!!!
      

  3.   

    connection的autoCommit有没设置为true?
      

  4.   

    各位老大现在又报错了!!!!!!!!!!!!!!!!!!!!!
    :Name jdbc is not bound in this Context !怎么改呀,多谢!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
      

  5.   

    各位老大!!!修改了一下,现在报新的错误!!!!!:Cannot load JDBC driver class 'null' !多谢!
      

  6.   

    各位大侠我把上面的整理了一下!贴出来,多谢!>>>>>>>>>>>>>>>我在web.xml (<web-app></web-app>之间)中加入:<resource-ref> 
    <description>DB Connection</description> 
    <res-ref-name>jdbc/EmployeeAppDb</res-ref-name> 
    <res-type>javax.sql.DataSource</res-type> 
    <res-auth>Container</res-auth> 
    </resource-ref> >>>>>>>>>>>>>>>>>>>>我在server.xml中加入:<Resource name="jdbc/EmployeeAppDb" scope="Shareable" type="javax.sql.DataSource" auth="SERVLET"/>
    <ResourceParams name="jdbc/EmployeeAppDb">
                <parameter><name>user</name><value>sa</value></parameter>
                <parameter><name>password</name><value></value></parameter>
                <parameter><name>driverClassName</name>
                  <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value></parameter>
                <parameter><name>driverName</name>    <value>jdbc:microsoft:sqlserver://192.168.1.3:1433;DatabaseName=zggc</value></parameter>
    </ResourceParams>>>>>>>>>>>>>>>>>>>>>>>>>>>测试代码:test.jsp:<%@ page import="java.sql.*"%>
    <%@ page import="javax.naming.Context"%>
    <%@ page import="javax.sql.DataSource"%>
    <%@ page import="javax.naming.InitialContext"%>
    <%
          DataSource ds = null;
          Connection con=null;
          try{
              Context initCtx = new InitialContext();
              ds = (DataSource)initCtx.lookup("java:comp/env/jdbc/EmployeeAppDb");
              con = ds.getConnection();
    Statement  stmt  =  con.createStatement();
                  stmt.executeUpdate("insert into test (test) values ('测试') ");
        }
    catch(Exception ex){
                 out.println(ex.getMessage());
    }
    %>>>>>>>>>>>>>>>>>>>>>>>但是执行时报错: Cannot load JDBC driver class 'null'!>>>>>>>>>>>>>>我的ClASSPATH是:C:\JBuilder7\jdk1.3.1\lib\tools.jar;C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msbase.jar;C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msutil.jar;C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\mssqlserver.jar;C:\JBuilder7\jdk1.3.1\jre\lib\rt.jar;C:\JBuilder7\jdk1.3.1\jre\lib\i18n.jar;C:\JBuilder7\jdk1.3.1\jre;C:\JBuilder7\jdk1.3.1\jre\lib
    >>>>>>>>>>>>>但是我执行这个JSP文件却能成功连接数据库并取出数据:<%@ page contentType="text/html;charset=gb2312"%> 
    <%@ page import="java.sql.*"%> 
    <html> 
    <body> 
    <%Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); 
    String url="jdbc:microsoft:sqlserver://192.168.1.3:1433;DatabaseName=zggc"; 
    //pubs为你的数据库的 
    String user="sa"; 
    String password=""; 
    Connection conn= DriverManager.getConnection(url,user,password); 
    Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); 
    String sql="select * from test"; 
    ResultSet rs=stmt.executeQuery(sql); 
    while(rs.next()) {%> 
    <%=rs.getString(1)%> 
    <%=rs.getString(2)%> <br>
    <%}%> 
    <%rs.close(); 
    stmt.close(); 
    conn.close(); 
    %> 
    </body> 
    </html>
    >>>>>>>>>>不知是什么原因,请高手指导,多谢了!!!!!!!!!!!!!!!!!!!!!!!!
      

  7.   

    把那三个SQL Server 2000的 .jar包,拷贝到一个没有空格的目录下。