jdbc连接SQLServer2005的测试类:
package com.zxr.utils;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
/**
* DataBase Connection Manager
* @author java-demon
*
*/
public class DBCon {
static{
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
System.out.println("---------正在加载驱动---------");
} catch (ClassNotFoundException e) {
System.out.println("---------找不到驱动--------------");
e.printStackTrace();
}
}
public Connection getCon(){
Connection con=null;
String url="jdbc:sqlserver://127.0.0.1:1433;databaseName=mydb";
try {
con=DriverManager.getConnection(url, "sa", "sasasa");
System.out.println("-------连接成功-----------");
} catch (SQLException e) {
e.printStackTrace();
System.out.println("------------连接失败-------------");
}
return con;
}
public static void main(String[] args) {
new DBCon().getCon();
}
}
出现异常信息:
---------正在加载驱动---------
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.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.zxr.utils.DBCon.getCon(DBCon.java:29)
at com.zxr.utils.DBCon.main(DBCon.java:39)
解决办法:
问题主要原因还是端口1433的问题。
所以主要解决TCP/IP端口的设置:
首先打开:SQL Server Configuration Manager.
在左边树状结构依次展开:SQL Server 2005网络配置----->SQLEXPRESS的协议
看右边,双击TCP/IP---->打开属性对话框,将General下的"保持活动状态"后边改成0,再点击IP地址选项卡
将TCP的动态端口都改成0。
最主要的是把下边IPALL的TCP动态端口改成0,TCP端口改成1433----------->确定。
然后,重启SQL Server(SQLEXPRESS)服务,就可以连接成功。