java JDBC连接SQL Server2008 错误,通过端口1433连接到主机localhost的TCP/IP连接失败。错误:“null。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java JDBC连接SQL Server2008 错误,通过端口1433连接到主机localhost的TCP/IP连接失败。错误:“null。相关的知识,希望对你有一定的参考价值。
myeclipse项目通过proxool连接sqlserver死活连不上去,tip/ip也设置了,防火墙端口1433也设置允许了。最后实在找不到问题所在。自己写了个测试
import java.sql.*;
public class test
public static void main(String[] srg)
String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; // 加载JDBC驱动
String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=sshdemo"; // 连接服务器和数据库test
String userName = "sa"; // 默认用户名
String userPwd = "123"; // 密码
Connection dbConn;
try
Class.forName(driverName);
//连接数据库不成功,通过debug发现在getConnection()调用后出现类似假死的现象,就是到这句话调试单步运行不下去
//,也一直没返回一个结果
dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
System.out.println("Connection Successful!"); // 如果连接成功
// 控制台输出Connection
// Successful!
catch (Exception e)
e.printStackTrace();
//连接数据库不成功,通过debug发现在getConnection()调用后出现类似假死的现象,就是到这句话调试单步运行不下去
我想原因可能就在这里,有大牛能解惑吗
com.microsoft.sqlserver.jdbc.SQLServerException: 通过端口 1433 连接到主机 PC-79160322 的 TCP/IP 连接失败。错误:“null。请验证连接属性,并检查 SQL Server 的实例正在主机上运行,且在此端口接受 TCP/IP 连接,还要确保防火墙没有阻止到此端口的 TCP 连接。”。
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1049)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:833)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:716)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:841)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:154)
at org.logicalcobwebs.proxool.DefaultConnectionBuilder.buildConnection(DefaultConnectionBuilder.java:39)
at org.logicalcobwebs.proxool.Prototyper.buildConnection(Prototyper.java:159)
at
你不会是没开服务吧?要么就是SQL SERVER配置有问题,估计TCP/IP被禁用了
解决方法:
你查看sqlserver --> 配置工具 --> configuration manager->网络配置
-->SQLEXPRESS的协议 -->TCP/IP 的状态,将禁用修改为启用
我的电脑右键管理 服务和应用程序-->服务 -->SQLSERVER(MSSQLSERVER)先停用,再启用(最好改成手动)
如果还不成,我就再想想追问
我已经做过这个工作了,截图给你看
参考技术A 代码没有问题。检查一下sql server的设置,用一般的数据库工具能连上吗?再检查一下proxool的配置,以及sql server的驱动程序。追问一般的能连上
追答检查一下数据库驱动包(jar),这个包要放到你的classpath所能识别的目录下面去。
另外,你用数据库工具连接时,是用sa通过tcp/ip连的吗?
我已经按照你的做了,错误提示太长。SQLEXPRESS的协议和mssqlserver协议都启用了tcp/ip,并且ip all都设1433,还是不行
追答数据库驱动包用的什么版本?
追问sqljdbc4.jar
追答大小?最新版本的应该是571KB
本回答被提问者采纳 参考技术B 错误代码贴出来啊^java 连接SQL Server
1、确认服务器的连通性,并且使用账户密码模式登陆有效。
1)、登陆服务器
2)、查看安全性
2、新建数据库用于测试
3、下载jdbc安装并配置
进入微软官网主页--> 搜索JDBC-->找到合适自己的版本
下载完成后,解压。
eclipse 项目中配置JDBC。
4、简单测试
1 package cn.test; 2 3 import java.sql.*; 4 5 public class DBUtil { 6 public static void main(String[] args) { 7 8 String driverName="com.microsoft.sqlserver.jdbc.SQLServerDriver"; 9 String dbURL="jdbc:sqlserver://localhost:1433;DatabaseName=数据库名"; 10 String userName="sa"; 11 String userPwd="密码"; 12 try 13 { 14 Class.forName(driverName); 15 System.out.println("加载驱动成功!"); 16 }catch(Exception e){ 17 e.printStackTrace(); 18 System.out.println("加载驱动失败!"); 19 } 20 try{ 21 Connection dbConn=DriverManager.getConnection(dbURL,userName,userPwd); 22 System.out.println("连接数据库成功!"); 23 }catch(Exception e) 24 { 25 e.printStackTrace(); 26 System.out.print("SQL Server连接失败!"); 27 } 28 } 29 }
读取测试
1 package cn.test; 2 3 import java.sql.*; 4 5 public class DBUtil { 6 public static void main(String[] args) { 7 8 String driverName="com.microsoft.sqlserver.jdbc.SQLServerDriver"; 9 String dbURL="jdbc:sqlserver://localhost:1433;DatabaseName=test1"; 10 String userName="sa"; 11 String userPwd="密码"; 12 //String sql = "select * from student"; 13 14 Connection conn; 15 //Statement stmt; 16 ResultSet rs; 17 PreparedStatement ps; 18 19 try 20 { 21 //1、加载驱动 22 Class.forName(driverName); 23 System.out.println("加载驱动成功!"); 24 }catch(Exception e){ 25 e.printStackTrace(); 26 System.out.println("加载驱动失败!"); 27 } 28 try{ 29 30 //连接数据库 31 conn =DriverManager.getConnection(dbURL,userName,userPwd); 32 System.out.println("连接数据库成功!"); 33 34 ps = conn.prepareStatement("select * from student"); 35 rs = ps.executeQuery(); 36 while (rs.next()) { 37 String cnoString = rs.getString(1); 38 String cnameString= rs.getString(2); 39 String tnoString = rs.getString(3); 40 System.out.println("cno "+cnoString+" cname "+cnameString+" tno "+tnoString); 41 42 } 43 44 45 }catch(Exception e) 46 { 47 e.printStackTrace(); 48 System.out.print("SQL Server连接失败!"); 49 } 50 } 51 }
以上是关于java JDBC连接SQL Server2008 错误,通过端口1433连接到主机localhost的TCP/IP连接失败。错误:“null。的主要内容,如果未能解决你的问题,请参考以下文章
java JDBC连接SQL Server2008 错误,通过端口1433连接到主机localhost的TCP/IP连接失败。错误:“null。
java连接sql server 2008 失败 报错信息如下:
如何使用 JDBC 连接到 SQL Server 2008 数据库?