使用纯Java数据库驱动程序出现的异常是   请教大侠分析一下.java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]用户 'sa' 登录失败。原因: 未与信任 SQL Server 连接相关联。 
java代码如下所示<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.sql.*" %>
<HTML><BODY>
 <% Connection con;
    Statement sql; 
    ResultSet rs;
    try { Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
        }
    catch(Exception e)
        { out.print(e);
        }
    try { String uri= "jdbc:sqlserver://127.0.0.1:1433;DatabaseName=student";
          String user="sa";   //当用户名为空时,它出现的异常显示  用户 '(null)' 登录失败 
          String password="sa";   //记得当时安装数据库2000时,我没有设置sa用户和密码,就直接是用windows验证登陆!
          con=DriverManager.getConnection(uri,user,password);
          sql=con.createStatement();
          rs=sql.executeQuery("SELECT * FROM score WHERE 数学成绩 > 80");
          out.print("<table border=2>");
          out.print("<tr>");
            out.print("<th width=100>"+"学号");
            out.print("<th width=100>"+"姓名");
            out.print("<th width=50>"+"数学成绩");
            out.print("<th width=50>"+"物理成绩");
            out.print("<th width=50>"+"英语成绩");
          out.print("</TR>");
       while(rs.next())
       {  out.print("<tr>");
             out.print("<td >"+rs.getString(1)+"</td>"); 
             out.print("<td >"+rs.getString(2)+"</td>");
             out.print("<td >"+rs.getFloat("数学成绩")+"</td>"); 
             out.print("<td >"+rs.getFloat("物理成绩")+"</td>");
             out.print("<td >"+rs.getFloat("英语成绩")+"</td>");   
          out.print("</tr>") ; 
        }
        out.print("</table>");
        con.close();
     }
   catch(SQLException e1) 
     {  out.print(e1);
     }
 %>
</BODY></HTML>
建立的数据库是sqlserver2000 数据库名是student  一个score表,里面五个字段分别是学号,姓名,数学成绩,物理成绩,英语成绩.搭建环境:
 1、安装SQL Server 2000;
 2、安装SQL Server 2000 的补丁程序,从http://www.microsoft.com下载SQLsp4.rar,安装该补丁程序即可;
 3、从http://www.microsoft.com下载SQL Server 2000 For JDBC的驱动程序,jdbcsetup.exe,安装即可,默认的安装目录为:c:\Program Files\Microsoft SQL Server 2000 Driver for JDBC
 4、安装完成后,将安装目录\lib\ 下的三个jar文件(msbase.jar,mssqlserver.jar,msutil.jar)复制到Tomcat目录下的common\lib子目录中;
 5、在环境变量中新增JDBC_HOME系统环境变量,值为c:\Program Files\Microsoft SQL Server 2000 Driver for JDBC。
 6、把 SQL Server 2000 Driver for JDBC驱动程序安装目录下的三个jar文件添加到环境变量CLASSPATH的值中,防止JSP页面在编译过程中出现找不到sql server driver类库的问题,添加内容如下: 
 %JDBC_HOME%\lib\msbase.jar;%JDBC_HOME%\lib\mssqlserver.jar;%JDBC_HOME%\lib\msutil.jar
 7 、然后重新启动计算机即可完成JSP连接SQL Server数据库驱动的配置。
 环境搭建成功。测试数据库的连接:
1、 建立数据库Student,创建表score;
2、 创建ODBC数据源。
以上的步骤对吗?还需要下载什么补丁吗?还是重新安装jdbc就可以运行.  记得当时安装数据库2000时,我没有设置sa用户和密码,就直接是用windows验证登陆!

解决方案 »

  1.   

    你在sql server里设置下用户,然后分配权限
      

  2.   

    用ODBC连接方式连接,或者你把密码设置为""看看
    你没设置sa,那密码就应该是""吧
      

  3.   

      把服务器身份验证 改为sqlServer身份验证和windows身份验证  就OK了  
    这部分刚学过  比较熟悉!
      

  4.   

    1,sql服务没开
    2,sqlserver的TCP/IP协议没启动
    3,驱动包没导入
    4,系统补丁你自己对着看哪点没完成