com.microsoft.sqlserver.jdbc.SQLServerException:与主机 localhost、端口 1433 的 TCP/IP 连接失败 [重复]
Posted
技术标签:
【中文标题】com.microsoft.sqlserver.jdbc.SQLServerException:与主机 localhost、端口 1433 的 TCP/IP 连接失败 [重复]【英文标题】:com.microsoft.sqlserver.jdbc.SQLServerException: The TCP/IP connection to the host localhost, port 1433 has failed [duplicate] 【发布时间】:2012-08-05 23:00:00 【问题描述】:我不断收到此错误。我尝试了 Stack Overflow 的一种解决方案(如下),但对我不起作用: SQL Exception while connecting to SQL server
我尝试通过使用链接在 Windows 防火墙中允许端口 1433,但也不起作用。请参阅“在 Windows 防火墙中打开端口以进行 TCP 访问”部分 http://msdn.microsoft.com/en-us/library/ms175043.aspx
com.microsoft.sqlserver.jdbc.SQLServerException: TCP/IP 连接到主机 localhost,端口 1433 失败。错误: “连接被拒绝:连接。验证连接属性。使 确保 SQL Server 实例正在主机上运行,并且 在端口接受 TCP/IP 连接。确保 TCP 与端口的连接不会被防火墙阻止。
请帮我解决这个问题。
【问题讨论】:
您的连接设置是什么?您是在尝试连接到默认实例还是命名实例? @Neil - 我刚刚读到“默认”和“命名”实例。我输入了一个命令并得到了一个名字。这是我的实例的名称吗? select @@servername go 名称是 JUSTIN\SQLEXPRESS。 你的代码看起来像con = DriverManager.getConnection("jdbc:sqlserver://justin\\sqlexpress", "user", "pass");
吗?
隔了很久才回来。甚至不记得我是否解决了这个问题。
@sweet dream-- 你是怎么解决这个问题的?
【参考方案1】:
你需要去
Start > Microsoft SQL Server > Configuration Tools > SQL Server Configuration Manager
打开后,转到SQL Server Configuration Manager > SQL Server Network Configuration > Protocols for SQLExpress
。
您会在此处找到 TCP/IP 协议,如果禁用则启用它。点击 TCP/IP,你会发现它的属性。
在这些属性中,删除所有 TCP 动态端口并将值 1433 添加到所有 TCP 端口,然后重新启动您的 SQL Server Services > SQL Server
它已经完成了。
【讨论】:
我还是有问题...这是我的问题:***.com/questions/17852987/… 有没有办法确定当前的动态端口并使用它,而不是强制它使用静态端口? 你拯救了我的一天!谢谢。 或者在注册表 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\SQLEXPRESS\MSSQLServer\SuperSocketNetLib\Tcp 中找到端口 @parth 如果我不想手动启用 TCP/IP 怎么办?如何在没有手动交互的情况下解决此问题?【参考方案2】:步骤
打开 Sql Server 配置管理器(开始 -> 程序 -> Microsoft SQL Server 2008 -> 配置工具)
扩展 SQL Server 网络配置 -> [您的服务器实例]
双击 TCP/IP
根据协议:
确保启用为是
在 IP 地址下:
滚动到底部并在 IPAll 下设置 TCP 端口,(1433 by 默认)
找到您要连接的 IP 地址并设置启用和活动 是
【讨论】:
【参考方案3】:使用 JDBC 查询数据库 SQL Server
首先,您需要找出您的 SQL Server 的 IP 并启用 TCP/IP 并设置 TCP/IP 端口。为此,请执行以下步骤:
打开 SQL Server 配置管理器
选择SQL Server网络配置 -> Protocols for -> 右击TCP/IP -> 选择启用 strong>(如果已启用,则继续下一步)-> 再次右键单击 TCP/IP -> Properties -> 选择选项卡 IP 地址 -> 在 IPAll 组中:清除 TCP Dynamic Ports 的值并将 1433 设置为 TCP Port -> 点击确定
注意:复制属性表中的其中一个 IP 以便稍后进行配置
双击SQL Server 服务 -> 右击SQL Server(USER) ** -> 选择**重启
现在,你已经有了IP,配置服务器如下:
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver" />
<property name="url" value="jdbc:sqlserver://put.the.ip.here:1433;databaseName=<DB-Name>" />
<property name="username" value="sa" />
<property name="password" value="p@ssW0rd" />
</bean>
注意:将destroy-method="close"
从bean中移除
【讨论】:
【参考方案4】:确保在 connectionUrl 中,你的斜线是这样向左的:
String connectionUrl = "jdbc:sqlserver://localhost**\**itis;databaseName=dbMediaStore;user=;password=";
【讨论】:
不应该将反斜杠加倍以逃避它吗?以上是关于com.microsoft.sqlserver.jdbc.SQLServerException:与主机 localhost、端口 1433 的 TCP/IP 连接失败 [重复]的主要内容,如果未能解决你的问题,请参考以下文章