帆软FineReport连接SQL Server数据库不成功:通过端口1433连接到主机localhost的 TCP/IP 连接失败

安装FineReport连接SQL Server数据库时,通过端口1433连接到本机一直失败,在FineReport官方网站帮助文档一直没找到解决办法。后在网上搜索了许久,终于找到问题所在“需要启用SQL Server网络配置中SQL Server的协议TCP/IP协议”,现将解决办法总结如下。[FineReport是用Java开发的,该问题的实质是“Java通过JDBC连接SQLServer”]

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

at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:171)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1033)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:817)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:700)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:842)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at com.luoying.TestSQLServer2.main(TestSQLServer2.java:15)

解决方法 :

打开 “microsoft sqlserver ”的 SQL Server Configuration Manager(配置管理器),

查看SQL Server网络配置, 下面有个 MSSQLSERVER 的协议, 把右边 的那个 TCP/IP 启用。

查看紧挨着的SQL Native Client 配置,客户端协议, 把右边 的那个 TCP/IP 启用。

确保端口是 1433 , 并已经打开了。

最后把 SQL Server(MSSQLSERVER) 服务重启!

--------------------------------------------

附:

win10找到sql server 配置管理器并打开的方法:

安装 sql server之后无法在开始菜单找到“sql server 配置管理器(SQL server configuration manager)。因为 SQL Server 配置管理器是 Microsoft 管理控制台程序的一个管理单元而不是单独的程序,所以,当运行 Windows 10 时,SQL Server 配置管理器不显示为一个应用程序。 

1) 桌面右击“此电脑”,选择“管理”,之后展开“服务和应用程序 ”即可看到 SQL Server配置管理器。

2)或在 资源管理器 中,找到目录:C:\Windows\SysWOW64,并且找到该目录下的 SQLServerManager14.msc(sql server 2017对应的,其他版本sql server对应修改) 文件,双击该文件即可打开“资源管理器”。

3)或者直接运行cmd,输入"SQLServerManager10.msc", 可直接打开“资源管理器”

 ------------------------------------

另转:

Java通过JDBC连接SQLServer 2012,出现一些连接问题,从网上查找了很多解决方法,却仍然无法解决。在这里将我遇到的问题及解决方法总结如下,希望可以帮到大家。

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

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

注:第一种错误:Connection refused: connect,经过验证是TCP/IP端口设置问题,可以集中在解决方案的步骤(1)(2)(3)(5).

      第二种错误:connect timed out,经过解决方案的(1)(2)(3)验证端口正确后仍会还会出现该错误,故特加上步骤(4),修改防火墙设置,完美解决问题。

 解决方案:

(1)打开SQLServer 配置管理器------->SQLServer for MSQLSERVER------->TCP/IP------->如果没有启动,则启动------->右键属性------->IPAddresses------->IP All------->将TCP端口改为1433;

(2)打开SQLServer 配置管理器------->SQL Native Client 10.0 Configuration------->CP/IP------->如果没有启动,则启动------->右键属性------->将Default Port(默认端口)改为1433;

(3)重启服务器。

(4)如果数据库连接仍然失败,检查防火墙。控制面板------->系统和安全------->Windows Defender防火墙------->允许应启用或关闭Windows Defendddeer防火墙------->将Windows防火墙关闭。

 (5)连接问题完美解决

————————————————
总结:

java编程中遇到问题:到主机的TCP/IP连接失败。java.net.ConnectException:Connectionrefused:connect
在所有的环境都是新配置的情况下,连数据库的时候报错,第一反应是数据库服务没有开没开。然后防火墙,最后把IPALL设置成1433。
SQL SERVER出现无法连接(或无法通过IP进行连接),多数是一下几种原因:

1.服务没有开放

2.防火墙屏蔽了端口(通常是1433端口)

3.没有允许远程访问。在外配应用配置器中设置“允许远程访问”

4.TCP/IP协议中,基于TCP/IP远程连接的IP选项设置不正确(通常是填错IP,或者填对但没有启用)

5.选择了”全部侦听“,但没有设置到"IPALL"的TCP端口号。

猜你喜欢

转载自www.cnblogs.com/wotainanle/p/12497649.html