我已经打了sp4的补丁了,jdbc的环境变量也设置得没问题,但测试还是连接不上
import java.sql.*;
class Test{//本程序在jdk1.4.2下调试通过.
    public static void main(String args[])
    {
        String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=student";
        String user ="sa";//这里替换成你自已的数据库用户名
        String password = "";//这里替换成你自已的数据库用户密码
        String sqlStr = "select CustomerID, CompanyName, ContactName from Customers";        try{    //这里的异常处理语句是必需的.否则不能通过编译!    
            Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
            System.out.println( "类实例化成功!" );            Connection con = DriverManager.getConnection( url, user, password );
            System.out.println( "创建连接对像成功!" );            Statement st = con.createStatement();
            System.out.println( "创建Statement成功!" );            ResultSet rs = st.executeQuery( sqlStr );
            System.out.println( "操作数据表成功!" );
            System.out.println( "----------------!" );            while(rs.next())
            {
                System.out.print(rs.getString("CustomerID") + "    ");
                System.out.print(rs.getString("CompanyName") + "    ");
                System.out.println(rs.getString("ContactName"));
            }
            rs.close();
            st.close();
            con.close();
        }
        catch(Exception err){
            err.printStackTrace(System.out);
        }
    }
}在cmd里面运行的结果是:
类实例化成功!
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]用
户 'sa' 登录失败。原因: 未与信任 SQL Server 连接相关联。
        at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source
)
        at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
        at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processErrorToken(Unknown
 Source)
        at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReplyToken(Unknown
 Source)
        at com.microsoft.jdbc.sqlserver.tds.TDSLoginRequest.processReplyToken(Un
known Source)
        at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReply(Unknown Sour
ce)
        at com.microsoft.jdbc.sqlserver.SQLServerImplConnection.open(Unknown Sou
rce)
        at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown S
ource)
        at com.microsoft.jdbc.base.BaseConnection.open(Unknown Source)
        at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)
        at java.sql.DriverManager.getConnection(Unknown Source)
        at java.sql.DriverManager.getConnection(Unknown Source)
        at Test.main(Test.java:14)
在网上搜了很多解决方法,都不行啊。。

解决方案 »

  1.   

    我用eclipse连接一开始也会出现这类情况,有没有用连接sqlserver2000的三个jar包呢?这三个是加载驱动用的
      

  2.   

    你的驱动看来是没错的,驱动没错了出现错误的原因就可能是以下几种:
    1.查看你的数据库服务项是否启动。
    2.如果服务项启动了,还是报错你就点击SQL SERVER 2005-->SQLEXPRESS协议-->TCP/IP-->选择TCP/IP-->IP-->将TCP端口设置为1433就可以了。
    3.查看你的数据库服务器是不是你本机的。
    4.在这里你的驱动应该是加对了,所以就不做仔细的介绍了!
      

  3.   

    这个应该是sa用户名登录失败吧
    首先修改sa用户的密码
    再一个,设它的状态为启用
    再一个,设SQL server中登录方式为SQL与Windows登录
    应该就可以了,记得重启SQL
      

  4.   

    应该下载安装微软的SQL_Server2000_DriverforJDBC_SP3
    msbase.jar  mssqlserver.jar  msutil.jar 根据错误提示:这三个包好像没加,主要是"msbase.jar"
    补丁用SP3的吧,要是用server2000的话
      

  5.   

    step1.
    你现在首要确定的就是"sa"这个用户是否能登陆数据库。
    方法是:“开始”-----“Microsoft SQL Server”----------“查询分析器”,然后用sa用户登陆。
    step2.
    如果登陆成功,那么开始检查SQL的版本,如果版本低,需要打上SP3(或sp4)补丁。
    查版本语句:select @@version
    step3.导入三个jar包(从你抛出异常来看,你已经导入了),仔细检察代码。
      

  6.   

    先在sqlserver2000内用sa 用户登录一下看能不能登进去,
    检查student数据库是否存在
      

  7.   

    sa 用户名登录失败可能是密码不对, 重新确定一下密码
    也可能是 sql server 设计了不能使用用户名和密码登录, 看一下 sql server 的设置
      

  8.   

    sa的密码没设定,可以参考我的BLOG
    sese_1990.blog.163.com中有