日期:2014-05-20  浏览次数:21058 次

JAVA 连接SQLserver数据库报错
Java code

package com.em.junit;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class Sqlconnention {
    public static void main(String[] args) {
        try {
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            try {
                Connection con = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=ExaManager", "sa", "hekunlun");
                String sql = "select ?, ? from tb_studentLogin";
                PreparedStatement pstmt = null;
                pstmt = con.prepareStatement(sql);
                pstmt.setString(1, "studentNumber");
                pstmt.setString(2, "studentPassword");
                ResultSet rs = pstmt.executeQuery();
                while(rs.next()){
                    System.out.println(rs.getString(1));
                    System.out.println(rs.getString(2));
                }
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        
    }
}




数据库 服务全开,Express版本
端口1433已经确认

异常信息报错

Java code


com.microsoft.sqlserver.jdbc.SQLServerException: 到主机  的 TCP/IP 连接失败java.net.ConnectException: Connection refused: connect
    at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(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(DriverManager.java:582)
    at java.sql.DriverManager.getConnection(DriverManager.java:185)
    at com.em.junit.Sqlconnention.main(Sqlconnention.java:16)



请问 错误大概在那块呢.???

------解决方案--------------------
java.net.ConnectException: Connection refused: connect

你的SQL Server 服务器启动了没有啊 ?
------解决方案--------------------
你sqlserver数据库的TCP/IP协议有开吗,未开启会有这种错的
------解决方案--------------------
java 连sql2005出现这个错误时,首先检查是否引用了sql 2005的包; 
第二步,看你的sql 2005是否开启了远程访问权限,具体设置如下: 

进入“Microsoft SQL Server 2005 ”——“配置工具”——“SQL Server 外围应用配置器” 

在进入“MSSQLSERVER"——“DATABASE" Engine”——“远程连接” 

选择“本地连接和远程连接(R)"——”同时使用tcp/ip和named pipes(B)" 

最后重启sql server 2005
------解决方案--------------------
进入“Microsoft SQL Server 2005 ”——“配置工具”——“SQL Server 外围应用配置器-->SQLserverBrowser -->Tcp/Ip 看是否被禁用” 这个Tcp/Ip 在配置工具里面有两个的 然后 重启服务
------解决方案--------------------
楼主多数都是这个服务未开启,我第一次使用时也遇到这样的问题,把TCP/IP服务开启一下就OK了,记得要重启sql服务器!
Microsoft SQL Server 2005 ”——“配置工具”——“SQL Server 外围应用配置器-->SQLserverBrowser -->Tcp/Ip
------解决方案--------------------
把//localhost 改成127.0.0.1 试试
------解决方案--------------------
看你的错误提示信息初步猜想是你的TCP/IP协议没开启,,,
另外如果你使的是SQL2000的话得打SP4补丁包。。。
google一下就能下载到
------解决方案--------------------