用JAVA连接数据库出现‘sa’登陆失败网上说的方法都用了,1.用sa登陆企业管理器没问题,模式已经是混合模式。sa状态是启动的。
2.TCP/IP协议都是启动的
3.sql2005连接包已经导入了的现在把JAVA代码贴出来,帮我看看
import java.sql.*;
public class ConnectionManager {
private static final String DIVER_CLASS="com.microsoft.sqlserver.jdbc.SQLServerDriver";
private static final String DATABASE_URL="jdbc:sqlserver://127.0.0.1:1433;databaseName=DBssh_Hua";
private static final String DATABASE_USER="sa";
private static final String DATABASE_PWD="sql2005";// private static final String DIVER_CLASS="com.ibm.db2.jcc.DB2Driver";
// private static final String DATABASE_URL="jdbc:db2://192.168.0.75:50000/scexpert";
// private static final String DATABASE_USER="db2inst1";
// private static final String DATABASE_PWD="111111";
/**
 * 
 * @return
 */
public static Connection getConnection(){
Connection dbConnection = null;
try{
Class.forName(DIVER_CLASS);
dbConnection= DriverManager.getConnection(DATABASE_URL,DATABASE_USER,DATABASE_PWD);
}catch(Exception e){
e.printStackTrace();
}
return dbConnection;

------------------连接 
public static void main(String[] args) {
  // TODO Auto-generated method stub
  ConnectionManager con = new ConnectionManager();
  con.getConnection();
 }-------------------异常com.microsoft.sqlserver.jdbc.SQLServerException: 用户 'sa' 登录失败。
 at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(Unknown Source)
 at com.microsoft.sqlserver.jdbc.IOBuffer.processPackets(Unknown Source)
 at com.microsoft.sqlserver.jdbc.SQLServerConnection.processLogon(Unknown Source)
 at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(Unknown Source)
 at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(Unknown Source)
 at com.microsoft.sqlserver.jdbc.SQLServerConnection.loginWithoutFailover(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 com.yangtianb.ConnectionManager.getConnection(ConnectionManager.java:20)
 at com.yangtianb.Test.main(Test.java:11) 
问题补充:端口:
SQLEXPRESS的协议:
---
IP :192.168.0.69
TCP动态端口:0
TCP端口:1433
活动:是
已启动:是
---
IP地址:127.0.0.1
TCP动态端口:0
TCP端口:1433
活动:是
已启动:是
---
TCP动态端口:58341
TCP端口:这样是对的吗? --------------
我在SQL SERVER企业管理器中sa登陆都没的问题
连接DB2没问题
我不知道怎么弄了。

解决方案 »

  1.   

    可以检查一下你所打开的服务与你所要登录的“sa”用户是否在同一个数据库名称中,sql2005有两种不同的服务分别连接对应 不同的两种数据库名称
      

  2.   

    at java.sql.DriverManager.getConnection(Unknown Source) 
    明显是这里出错了 看下是不是错了标点或者名称拼写的错误
      

  3.   

    我这里有JAVA连接SQL 数据库的连接池的代码!!可以的话,你看看。。给个邮箱
      

  4.   

    看看Driver有没有写错:
    我知道两种不同的Driver:// mssqlserver.jar
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); // sqljdbc.jar
    Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 
      

  5.   

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;public class ConDB {

    private static String driver="com.microsoft.sqlserver.jdbc.SQLServerDriver";
    private static String url="jdbc:sqlserver://localhost:1433;databaseName=DBssh";
    private static String pwd="sql2005";
    private static String user="sa";
    public static Connection getConnection(){
    Connection con=null;
    try {
    Class.forName(driver);
    con=DriverManager.getConnection(url, user, pwd);
    System.out.println("conn ok");
    } catch (ClassNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    return con;
    }
    public static Connection closeCon(Connection con){
    if(con!=null){
    try {
    con.close();
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }
    return con;
    }
    public static Statement closeStm(Statement stm){
    if(stm!=null){
    try {
    stm.close();
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }
    return stm;
    }
    public static ResultSet closeRs(ResultSet rs){
    if(rs!=null){
    try {
    rs.close();
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }
    return rs;
    }
    }服务 TCP/ID这样的都开了的话
    你把我给你的贴过去看看  是不是对的
      

  6.   

    sql2005 有2个服务:SQL SERVER(SQLEXPESS)和 SQL SERVER (MSSQLSERVER)我用127.0.0.1 去连接它是连接的哪个一个啊?
      

  7.   

    我觉的1是你别用127.0.0.1,你用localhost:1433/数据库的名字然后不行你在打开企业管理器,在LOCAL目录下(就是有数据库,数据转换服务,管理...)找到安全性,然后设置你的SA用户的密码还是不行就右键点击LOCAL选属性,然后选安全性,点身份和windows认证的单选钮目前就这3中方案