sql server 2008 com.microsoft.sqlserver.jdbc.SQLServerException: 通过端口 1433 连接到主机

本文解决了Java程序连接SQLServer2008数据库时遇到的连接失败问题,提供了详细的步骤来检查TCP/IP设置及服务重启的方法。

 Java程序连接SQL Server2008数据库时出现的问题:

java连接SQL问题

com.microsoft.sqlserver.jdbc.SQLServerException: 通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败。错误:“Connection refused: connect。请验证连接属性,并检查 SQL Server 的实例正在主机上运行,且在此端口接受 TCP/IP 连接,还要确保防火墙没有阻止到此端口的 TCP 连接。”。

解决方案(参考别人的,很有价值):

From:http://www.cnblogs.com/yi-mi-yangguang/p/6230097.html

右击我的电脑,点击管理

 

右击“TCP/IP”选择“属性”(或双击“TCP/IP”),选择“IP地址”选项卡,最下面有个“IPALL”:

 

 

 

再看看“SQL Native Client配置”,查看TCP/IP属性:

 

 

一切正确。现在重启服务:




分类: SQL

当遇到 `com.microsoft.sqlserver.jdbc.SQLServerException: 你的主机中的软件中止了一个已建立的连接。` 错误提示时,这通常意味着客户端和SQL Server之间的网络通信被意外中断。以下是几种常见的解决方案及其背后的原理: ### 一、检查防火墙和其他安全措施 1. **审查防火墙规则**:确保服务器端和客户端之间没有任何阻止TCP/IP流量的安全策略。特别注意默认用于SQL Server实例监听的端口(通常是1433),确认它是否开放并且允许入站连接。 2. **禁用或调整防病毒/杀毒程序**:某些防护工具可能会误解来自数据库驱动程式的正常活动为潜在威胁,并主动切断连接。尝试暂时关闭这些服务来进行测试。 ### 二、优化JDBC URL 设置 - 使用明确指定协议版本以及超时时间的完整URL格式,例如: ```plaintext jdbc:sqlserver://<your_server>:1433;databaseName=<db_name>;encrypt=true;trustServerCertificate=true; ``` - 添加 `loginTimeout=30` 参数到 JDBC 连接字符串里设定较长登录超时期限,默认值较短可能导致不稳定环境中频繁掉线的问题发生。 ### 三、增强SQL Server 配置稳定性 1. **增大命令超时限制**:在应用程序层面设置合理的查询执行时间和事务等待间隔,避免因长时间运行的操作触发断开机制。 2. **启用“保持活跃”功能**:通过 SQL Server Management Studio (SSMS),你可以为具体的连接添加 Keep Alive 属性以维持会话的有效性,在高级选项卡下将 “Keep Alive Time” 设定得足够大。 3. **更新补丁级别**:保证使用的是最新发布的累积更新(CU) 版本,因为官方经常会修复一些关于连通性和稳定性的 bug。 ### 四、排查硬件及网络设施状态 - 测试物理线路的质量,排除网卡故障的可能性。 - 对比不同时间段内的性能差异,判断是否存在特定时段带宽紧张情况影响到了正常的通讯流程。 --- 经过以上步骤应该能够有效减少甚至消除这类问题的发生几率。当然,每个具体案例背后的原因不尽相同,需要结合实际情况逐一分析解决办法。 --
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值