日期:2014-05-19  浏览次数:20870 次

连接SQLSERVER2005 ‘sa’登陆失败
用JAVA连接数据库出现‘sa’登陆失败

网上说的方法都用了,

1.用sa登陆企业管理器没问题,模式已经是混合模式。sa状态是启动的。
2.TCP/IP协议都是启动的
3.sql2005连接包已经导入了的

现在把JAVA代码贴出来,帮我看看

Java code

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;
        }


 
------------------连接

Java code
 
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没问题
我不知道怎么弄了。

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


import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import ja