//到数据库去验证
//1.加载驱动
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
//2.得到连接
Connection ct = DriverManager
.getConnection(
"jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=MYDB",
"fx", "630923");
//3.创建Statement
Statement st = ct.createStatement();
//4.查询数据库
ResultSet rs = st
.executeQuery("select password from ClassMates where Name='"
+ name + "'");
代码有错么?fx是本人创建的一个SQLServer登录名 因为用sa用户也不行啊  我试了N多次了 用fx时同样发生异常
 再用sa和fx登录数据库的时候总是出现如下面之类的错误:
登录sa时:提示该用户与可信SQL Server连接无关联(错误18452)
登录fx是:提示:已成功与服务器建立连接,但在登录过程中发生错误,共享内存提供程序,error;0-管道的另一端无任何进程。(错误233)跪请高人指点!

解决方案 »

  1.   

    "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=MYDB"改成"jdbc:sqlserver://localhost:1433;DatabaseName=MYDB"
      

  2.   

    是否安装了sqlserver的补丁。打完补丁sp3才能连接
      

  3.   

    2K的话 打sp3以上补丁
    2k5的话,看看2k5的访问
      

  4.   

    我引进了三个sql驱动的jar包  msbase.jar   mssqlserver.jar  msutil.jar
      

  5.   


    不行啊  我用的是SQLServer 2005
      

  6.   

    目前数据库用户sa的账号已经能登陆进数据库了 大家看我下面的这段代码有错么?
    怎么老是报错啊 <% 
    try {
    //接受用户名和密码
    String name = request.getParameter("username");
    String passw = request.getParameter("password");
    //到数据库去验证
    //1.加载驱动
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
    //2.得到连接
    Connection ct = DriverManager
    .getConnection(
    "jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=MYDB",
    "sa", "630923");
    //3.创建Statement

    Statement st = ct.createStatement();
    //4.查询数据库
    ResultSet rs = st
    .executeQuery("select password from ClassMates where Name='"
    + name + "'");
    //根据结果判断
    if (rs.next()) {
    //说明用户存在
    if (rs.getString(1).equals(passw)) {
    //合法,就跳转到成功页面
    response.sendRedirect("welcome.jsp");
    } else {
    //不合法,就跳转回登录页面
    response.sendRedirect("login.jsp");
    }
    }
    }catch(Exception e){
    e.printStackTrace();
    }

    %> 三个sql驱动 jar包我已经引进了的
      

  7.   

    1.保证sa能在数据库端成功登陆
    2.开启1433端口
    3.重启服务
    4.合适的驱动jar包和类
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");------SQL Server2000
    Class.forName("com.jdbc.sqlserver.SQLServerDriver");------SQL Server2005
      

  8.   

    "jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=MYDB",
    把microsoft去掉
      

  9.   

    只引这一个sqljdbc.jar就OK 么?
      

  10.   

    装sp3补丁,sql server 选择混合模式
      

  11.   

    com.microsoft.jdbc.sqlserver.SQLServerDriver改成com.microsoft.sqlserver.jdbc.SQLServerDriver,
    SQLServer版本不一样,写法不一样
      

  12.   

    2005的不是用那三个jar吧,就一个
      

  13.   

    "jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=MYDB",
    microsoft 
     
      

  14.   

    上面说的我都做了  可还是不行   就剩下没有按你们说的把 三个驱动包换成一个了,不知道成不成 我去试试       是sqljdbc。jar?
      

  15.   

    数据库如果是sql server2005或以上版本,则连接语句是“jdbc:sqlserver://localhost:1433;DatabaseName=MYDB”去掉microsoft。
    sqljdbc.jar版本也必须是2005版的(sqljdbc.jar2005也适用于sql server2008)。
      

  16.   

    我做了个测试 测试结果是数据库连接失败
    结果如下:package com.university;
    import java.sql.*;
    public class TestJDBC { String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=MYDB";
    String name="com.microsoft.sqlserver.jdbc.SQLServerDriver";
    Connection c;
    Statement s;
    ResultSet r;
    public TestJDBC(){
    try{
    Class.forName(name);
    }catch(Exception e){
    e.printStackTrace();
    System.out.println("加载驱动失败");
    }
    try{
    c=DriverManager.getConnection(url,"sa","630923");
    }catch(Exception e){
    e.printStackTrace();
    System.out.print("连接数据库失败");
    }
    }
    public static void main(String args[]){
    new TestJDBC();
    }
    }
    获得异常:
    java.sql.SQLException: No suitable driver found for jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=MYDB
    at java.sql.DriverManager.getConnection(DriverManager.java:602)
    at java.sql.DriverManager.getConnection(DriverManager.java:185)
    at com.university.TestJDBC.<init>(TestJDBC.java:18)
    at com.university.TestJDBC.main(TestJDBC.java:25)
    连接数据库失败
      

  17.   

    package com.university;
    import java.sql.*;
    public class TestJDBC {    String url="jdbc:sqlserver://localhost:1433;DatabaseName=MYDB";
        String name="com.microsoft.sqlserver.jdbc.SQLServerDriver";
        Connection c;
        Statement s;
        ResultSet r;
        public static Connection TestJDBC(){
            try{
                Class.forName(name);
                return DriverManager.getConnection(url,"sa","630923");
            }catch(Exception e){
                e.printStackTrace();
                System.out.print("连接数据库失败");
            }
        }
        public static void main(String args[]){
           TestJDBC();
        }
    }
      

  18.   

    你2000 的sqlserver 就是这个String driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver";
    String url="jdbc:microsoft:sqlserver://localhost:1432;databaseName=mydb"; 
     05的就用这个
    String driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver";
    String url="jdbc:sqlserver://127.0.0.1:1433;databaseName=mydb";