import java.sql.*; public class Test {
public static void main(String[] srg) {
   String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";   //加载JDBC驱动
   String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=test";   //连接服务器和数据库test
   String userName = "sa";   //默认用户名
   String userPwd = "123";   //安装sql server 2005时的密码
   Connection dbConn;   try {
   Class.forName(driverName);
   dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
   System.out.println("Connection Successful!");   //如果连接成功 控制台输出Connection Successful!
   } catch (Exception e) {
   e.printStackTrace();
   }
}
}
上面是代码   但是连接不上  提示错误:
com.microsoft.sqlserver.jdbc.SQLServerException: 无法打开登录所请求的数据库 "test"。登录失败。
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(Unknown Source)
at com.microsoft.sqlserver.jdbc.IOBuffer.processPackets(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at sqlconn.Test.main(Test.java:15)

解决方案 »

  1.   

    数据库中是否有一个叫test 的数据库啊?
      

  2.   


    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;public class DBAccess {
        
        private static String driver="com.microsoft.sqlserver.jdbc.SQLServerDriver";
        private static String url="jdbc:sqlserver://localhost:1433;databasename=test";
        private static String user="sa";
        private static String pwd="123";
        
        public static Connection getConnection(){
            try {
                Class.forName(driver);
                Connection con=DriverManager.getConnection(url, user, pwd);
                System.out.println("con success");
                return con;
            } catch (ClassNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            return null;
        }
        
        public static void closeConnection(Connection con){
            if(con!=null){
                try {
                    con.close();
                } catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
        }
        
        public static void closeStatement(Statement stm){
            if(stm!=null){
                try {
                    stm.close();
                } catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
        }
        
        public static void closeResultSet(ResultSet rs){
            if(rs!=null){
                try {
                    rs.close();
                } catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
        }
        
        public static void main(String[] args) {
            getConnection();
        }
    }试试这个
      

  3.   

    //Microsoft SQL Server 2.0驱动(3个jar的那个):String Driver="com.microsoft.jdbc.sqlserver.SQLServerDriver";    //连接SQL数据库的方法   
    String URL="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db_name";    //db_name为数据库名   
    String Username="username";    //用户名   
    String Password="password";    //密码   
    Class.forName(Driver).new Instance();    //加载数据可驱动   
    Connection con=DriverManager.getConnection(URL,UserName,Password);    //     
    //Microsoft SQL Server 3.0驱动(1个jar的那个): 
    String Driver="com.microsoft.sqlserver.jdbc.SQLServerDriver";    //连接SQL数据库的方法   
    String URL="jdbc:sqlserver://localhost:1433;DatabaseName=db_name";    //db_name为数据库名   
    String Username="username";    //用户名   
    String Password="password";    //密码   
    Class.forName(Driver).new Instance();    //加载数据可驱动   
    Connection con=DriverManager.getConnection(URL,UserName,Password);    //     
      

  4.   

    检查数据库是否开启,检查是否存在test数据库
    查看代码 是否有字符写错。驱动 连接等是否正确。
    检查驱动包
      

  5.   

    我支持一楼的,应该是你数据库的名字写错了吧,呵呵 是不是 test 在建立数据库的时候写成text 啦?别不承认