tcping 127.0.0.1 1433成功连接,但是断点调试DriverManager.getConnection这句一直显示获得空对象,请问是什么原因,引入jar包是sqljdbc4-4.0.jarimport java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class TestJdbcDemo {
public static void main(String[] args) {
Connection dbConn = null;
String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; // 加载JDBC驱动
// 连接服务器和数据库ServletUser
String dbURL = "jdbc:sqlserver://127.0.0.1:1433; DatabaseName=test";
String userName = "sa"; // 默认用户名
String userPwd = "111"; // 密码
try {
Class.forName(driverName).newInstance();
dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
System.out.println("Connection Successful!"); // 如果连接成功
} catch (Exception e) {
e.printStackTrace();
}finally{
//进行资源的释放
if(dbConn!=null){
try {
dbConn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}错误日志
com.microsoft.sqlserver.jdbc.SQLServerException: 通过端口 1433 连接到主机 127.0.0.1 的 TCP/IP 连接失败。错误:“Bad address: connect。请验证连接属性。确保 SQL Server 的实例正在主机上运行,且在此端口接受 TCP/IP 连接,还要确保防火墙没有阻止到此端口的 TCP 连接。”。
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:190)
at com.microsoft.sqlserver.jdbc.SQLServerException.ConvertConnectExceptionToSQLServerException(SQLServerException.java:241)
at com.microsoft.sqlserver.jdbc.SocketFinder.findSocket(IOBuffer.java:2243)
at com.microsoft.sqlserver.jdbc.TDSChannel.open(IOBuffer.java:491)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1309)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:991)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:827)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1012)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at com.hitachi.test.TestJdbcDemo.main(TestJdbcDemo.java:16)

解决方案 »

  1.   

    另外,sql2008里面可以用这个账号密码登录
      

  2.   

    用你的测试,在我这边没问题。 你的数据库服务端安在了本机吗?仔细检查一下你的url
      

  3.   

    地址没写错,本机也装了sql2008,网上写的tcp/ip也开了,端口也是1433,但就是一直这个问题
      

  4.   

    telnet和tcping连127.0.0.1 1433都没问题,但是java里面一直是这个问题
      

  5.   

    你把127.0.0.1改成localhost就可以登录了   这种情况我记得貌似是sqlserver配置管理里禁用了ip访问  手边没有win电脑  没法验证  可以白天在看看
      

  6.   

    一样报错,错误:“Bad address: connect。请验证连接属性。确保 SQL Server 的实例正在主机上运行,且在此端口接受 TCP/IP 连接,还要确保防火墙没有阻止到此端口的 TCP 连接。”
      

  7.   

    本机没装Sql Server2012  你可以来这里看看能不能解决你的问题  https://www.cnblogs.com/360-782/p/sqlserverconfigurationmanager.html
      

  8.   

    看看是否你的java虚拟机不能穿过防火墙,把java虚拟机加入信任列表。 
      

  9.   

    我遇到的两种情况:数据库没打开或者数据库TCP/IP协议没设置。
      

  10.   

    java 中获取driverclass 的包貌似 有固定的名字 ,如果是自己改的driverclass名字是不会被识别的  
    以前我连oracle就是自己改的名字java不识别
      

  11.   

    先windows+R  然后 输入命令 ipconfig 把127.0.0.1更换成你本机的IP试试