下面的一段程序运行老是出现异常,连接数据库不成功,我该怎么解决
import java.sql.*;
import java.net.*;
public class ConnectSQLServer
{
public static void main(String args[])
{
String url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=Northwind"; try
{
try
{

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
}catch(ClassNotFoundException e)
{ System.out.println("Cannot load SQLServer Driver");
System.err.println("ClassNotFoundException:");
System.out.println(e.getMessage()); }
    //System.out.println("tttt");
Connection con=DriverManager.getConnection(url,"sa",""); DatabaseMetaData dmd=con.getMetaData();

System.out.println("所连接的数据库: "+dmd.getURL());
System.out.println("驱动 : "+dmd.getDriverName());
Statement stmt=con.createStatement();
//String sql="select * from student";
//ResultSet rs=stmt.executeQuery(sql);
//System.out.println(rs);

}catch(SQLException ex)
{
System.out.println("SQLException:");
//ex.printStackTrace();
while(ex!=null)
{
System.out.println("Message:"+ex.getMessage());
ex=ex.getNextException();
}

}

}
}
////////////////////////////////////////////////////////////////////////////
老是出现
SQLException:
Message:[Microsoft][SQLServer JDBC Driver]Error establishing socket.
Message:[Microsoft][SQLServer JDBC Driver]Connection refused: connect

解决方案 »

  1.   

    楼主你在sqlserver中是否有设密码?我在代码中看到你 连接的帐号和密码是sa和空,你最好试试其他密码
    另外,在sql enterprise下的local属性-》安全性,选择“windows and server”-》然后新建用户,这样做试试
      

  2.   

    版本有问题,是不是在winXp下执行,要打sqlserver sp2包
      

  3.   

    WinXP professional版本不支持开发版之外SQL 2K的网络连接,只能通过ODBC访问。试试看把JDBC驱动换为JdbcOdbcDriver,再建立一个ODBC数据源(控制面板),应该就没有问题了。
    若仍想使用SQLServer的JDBC驱动,安装SQL Server 2000的开发版。或把操作系统换为Win2K或Win2003。
      

  4.   

    1、下载Microsoft SQL Server 2000 Service Pack 3a并安装,SQL请选用混和安装模式!!!
    http://www.microsoft.com/downloads/details.aspx?FamilyId=90DCD52C-0488-4E46-AFBF-ACACE5369FA3&displaylang=zh-cn2、下载SQL Server 2000 Driver for JDBC Service Pack 3
    http://www.microsoft.com/downloads/details.aspx?FamilyId=07287B11-0502-461A-B138-2AA54BFDC03A&displaylang=en3、运行时关闭防火墙
      

  5.   

    上面说的都有道理,我看你八成是winxp
      

  6.   

    YuLimin
    说的很有道理
    你按照他的方法解决一下肯定没有问题
      

  7.   

    重新加载SQL Server驱动,并检查你的SQL用户名和密码是否有效
      

  8.   

    还是不行啊,
    1----我打sp3出现SHIEP已安装了更高版本的Service Pack,安装程序将停止.
    2----防火墙已关
    3----端口已改为其他的端口(客户端和服务段都改了),我随便用的,总是不对,相同的错误
    4----以启用tcp/ip协议
    5----密码和用户名都正确可是还是同样的错误,我都要疯掉了,都三个星期了,还搞不定啊,我该怎么办,重装都试过,没用
      

  9.   

    sqlserver 的驱动程序你配置了吗?
      

  10.   

    楼主的程序没有问题,我用jcreator运行正常。首先需要排除你的sqlserver的驱动程序是否有问题。如果驱动没问题,就可能是系统自身问题了(包括JDK)。
      

  11.   

    以前发过!~自己看看有没有帮助!~
    http://community.csdn.net/Expert/topic/4241/4241477.xml?temp=.5004694
    这个据说是微软的mssql安全漏洞!~
    使用win2003和mssql2000容易用到这个问题!~
    解决方法1~1、给mssql打sp4补丁
    2、打开SQL Server 2000[企业管理器],选定你的数据库服务器,〉属性----〉网络设置---〉里面有两个协议:命名管道和TCP/IP协议(默认1433端口号),就是这里的原因。
    先把这两个协议禁用了,然后重新启动SQL Server服务。
    启动SQL Server服务后,再把两个协议重新启用,再重新启动SQL Server服务。这样设置后应该没有问题了,我以前遇到过这个问题!~
      

  12.   

    如果在 HKEY_LOCAL_MACHINE---microsoft--mssqlserver--mssqlserver中的loginmode的参数是0的话!改为1
      

  13.   

    我用sun.jdbc.odbc.JdbcOdbcDriver驱动通过设置odbc数据源可以连接上数据库了,可是有没有不用设置数据源的的连接方法,我想更直接一点.