我的sqlserver很烂呀,是不是sqlserver的问题呀
、、我顶

解决方案 »

  1.   

    这是测试文件:
    <%@ page language="java" %>
    <%@ page import="java.sql.*" %>
    <%@ page import="javax.sql.*" %>
    <%@ page import="javax.naming.*" %><html>
    <head>
    </head>
    <body>
    <%
     String sql="SELECT * FROM class";
     Context initCtx = new InitialContext();
     Context envCtx = (Context) initCtx.lookup("java:comp/env");
     javax.sql.DataSource database =
         (javax.sql.DataSource) envCtx.lookup("jdbc/sng");
     Connection con=database.getConnection();
     PreparedStatement selectStatement=
       con.prepareStatement(sql);
     ResultSet rs=selectStatement.executeQuery();
     ResultSetMetaData rsmd= rs.getMetaData();
     rsmd.toString();
    %>
    成功
    </body>
    </html>我顶
      

  2.   

    有驱动,3个,发在了common\lib下,为保险classpath也设了,server.xml,web.xml(是web-info理的那个吧?)也设了
    server.xml:
    <Context path="/sng" docBase="sng" debug="0"
     reloadable="true" crossContext="true">
            <Resource name="jdbc/sng" auth="Container" type="javax.sql.DataSource" />
            <ResourceParams name="jdbc/sng" >
              <parameter><name>factory</name>
                         <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
              </parameter>
      <parameter><name>driverClassName</name>
           <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
      </parameter>
      <parameter><name>url</name>
         <value>jdbc.microsoft.sqlserver://localhost:1433;user=admin;password=Admin;DataBaseName=sng</value>
      </parameter>
    </ResourceParams>
    </Context>
    web.xml:    <resource-ref>
    <res-ref-name>jdbc/sng</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
    <res-sharing-scope>Shareable</res-sharing-scope>
        </resource-ref>
     
      

  3.   

    是连接sqlserver的错误,你直接写java测试你的连接看看对不对!
      

  4.   

    tnnd,找到毛病了,jdbc.microsoft.sqlserver换成jdbc:microsoft:sqlserver不过,还是登陆不上,总是提示用户登陆失败,用户名我都试遍了,谢谢了