多谢!本人新手学习望多指教, sql server2005驱动的jar包应是几个?我下载的都是两个。请高手帮忙,运行后出错:com.microsoft.sqlserver.jdbc.SQLServerException: 通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败。错误:“Connection refused: connect。请验证连接属性,并检查 SQL Server 的实例正在主机上运行,且在此端口接受 TCP/IP 连接,还要确保防火墙没有阻止到此端口的 TCP 连接。”。
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:171)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1033)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:817)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:700)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:842)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
我建立的数据库是:MySchool
链接代码是:package s2jsp.sg.ch03;
import java.sql.*;
public class NewsFirstLevelTitleDB1{
public static void main(String[]args){
Connection con=null;
Statement statement=null;
try{
String strSql="insert into bank values(3,'游戏','网管',getdate())";
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
}catch(ClassNotFoundException e){
System.out.println("无法找到驱动类");
}
con=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=MySchool","","");
statement=con.createStatement();
statement.execute(strSql);
}catch(SQLException sqlE){
sqlE.printStackTrace();
}finally{
closeStatement(statement);
closeConnection(con);
}
}
public static void closeStatement(Statement stat){
try{
if(stat!=null){
stat.close();
stat=null;
}
}catch(SQLException e){
e.printStackTrace();
}
}
public static void closeConnection(Connection dbConnection){
try{
if(dbConnection!=null&&(!dbConnection.isClosed())){
dbConnection.close();
}
}catch(SQLException sqlEx){
sqlEx.printStackTrace();
}
}
}

解决方案 »

  1.   

    这个错误是包的问题 去微软官方下一个SQL2000、SQL2005全兼容的包,就一个JAR包。。
      

  2.   

    用netstat查看一下端口有没有被占用了 不行的话就换一个端口
      

  3.   

    sql server的jar包只有一个
    运行出现错误的原因:需要配置1433端口号 配置步骤:程序-Microsoft sql server 2005 -配置工具-sql server配置管理器-网络配置的SQLEXPRESS协议-右边的TCP-IP协议右击选择属性-IP地址选项卡-把IPAll的TCP端口改为1433
      

  4.   

    配置完成后再重启一下sql sever服务器
      

  5.   

    正解,sql server2005的jar包只有一个,如果netstat 看看1433端口占用了没有,然后按照楼上的配置一下端口
      

  6.   

    初学者求助望大师指点,用preparedstatement进行增删改查数据时报错(MyEclipse7.5+sql server 2005):
    java.lang.ClassNotFoundException: com.Microsoft.sqlserver.jdbc.SQLServerDriver
    at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:169)
    at s2jsp.sg.ch03.ConnectionManager.getConnection(ConnectionManager.java:12)
    at s2jsp.sg.ch03.NewsFirstTitleDB2.main(NewsFirstTitleDB2.java:11)
    Exception in thread "main" java.lang.NullPointerException
    at s2jsp.sg.ch03.NewsFirstTitleDB2.main(NewsFirstTitleDB2.java:13)
    数据库连接代码:
    package s2jsp.sg.ch03;
    import java.sql.*;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    public class NewsFirstTitleDB2{
    public static void main(String[]args){
    Connection con=null;
    PreparedStatement pStatement=null;
    try{

    con=ConnectionManager.getConnection();
    String strSql="delete from FirstLevelTitle where TitleName=?";
    pStatement=con.prepareStatement(strSql);
    pStatement.setString(2,"足球");
                int row=pStatement.executeUpdate();
    System.out.println("成功删除了"+row+"行数据");
    pStatement.executeUpdate();
    }catch(SQLException sqlEx){
    sqlEx.printStackTrace();
    }finally{
    ConnectionManager.closeStatement(pStatement);
    ConnectionManager.closeConnection(con);
    }
    }
    }