SQLServer异常;与主机 localhost、端口 1433 的 TCP/IP 连接失败
Posted
技术标签:
【中文标题】SQLServer异常;与主机 localhost、端口 1433 的 TCP/IP 连接失败【英文标题】:SQLServerException; The TCP/IP connection to the host localhost, port 1433 has failed 【发布时间】:2016-08-09 20:20:17 【问题描述】:使用这个连接字符串
jdbc:sqlserver://localhost\\SQLEXPRESS:1433;database=mydb;user=username;password=psw
我收到以下错误,我无法弄清楚如何解决它:
com.microsoft.sqlserver.jdbc.SQLServerException:与主机 localhost 的 TCP/IP 连接失败,端口 1433。错误:“连接被拒绝:连接。验证连接属性,检查 SQL Server 实例是否正在主机上运行并在端口接受 TCP/IP 连接,并且没有防火墙阻止与端口的 TCP 连接。
我查看了注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<Instance Name>\MSSQLServer\SuperSocketNetLib\Tcp
,设置了端口,并且禁用了防火墙,实例正在运行并且用户确实具有master默认访问权限!,那么到底出了什么问题?
【问题讨论】:
你的连接字符串看起来不错.. 但只要试试这个方法看看jdbc:sqlserver://localhost;instanceName=SQLEXPRESS;database=mydb;user=username;password=psw'
刚刚试过,得到:com.microsoft.sqlserver.jdbc.SQLServerException: Cannot open database "mydb" requested by the login. The login failed
.
数据库mydb
存在吗?具有给定的用户名和密码权限?
@JAG 感谢您让我考虑它,我没有更改数据库,但用户,使用 sa
及其密码可以正常工作,我不知道当时出了什么问题? !
那么,除了sa
之外,我怎样才能在此数据库上授予另一个登录权限?请立即为整个问题提供答案,@JAG,谢谢。
【参考方案1】:
试试这个连接字符串
jdbc:sqlserver://localhost;instanceName=SQLEXPRESS;database=mydb;user=username;password=psw'
并确保你有这个
instanceName = SQLEXPRESS;
database = mydb; -- database mydb should exists
user = userName; -- user should exits and have permission to mydb
password = userPassword
创建新用户
USE [master]
GO
CREATE LOGIN [userName] WITH PASSWORD=N'userPassword',
DEFAULT_DATABASE=[YourDB], CHECK_EXPIRATION=OFF,CHECK_POLICY=OFF
授予对YourDB
的访问权限
GO
USE [YourDB] -- in your case its mydb
GO
CREATE USER [userName] FOR LOGIN [userName] WITH DEFAULT_SCHEMA=[dbo]
GO
【讨论】:
谢谢,我创建了一个具有正确权限的新用户。【参考方案2】:转到 SQL Server 配置管理器 -->> SQLEXPRESS 协议 在右侧选项卡中更改 TCP/IP 的属性 1-启用协议 2- 在 IP 地址:确保所有 TCP 端口都是 1433 3- 申请 -->> 好的 4- 重启 SQL Server
希望一切顺利
【讨论】:
【参考方案3】:尝试省略端口号,或使用逗号代替冒号。
jdbc:sqlserver://localhost\\SQLEXPRESS;database=mydb;user=username;password=psw
jdbc:sqlserver://localhost\\SQLEXPRESS,1433;database=mydb;user=username;password=psw
【讨论】:
以上是关于SQLServer异常;与主机 localhost、端口 1433 的 TCP/IP 连接失败的主要内容,如果未能解决你的问题,请参考以下文章
与主机 localhost、端口 1433 的 TCP/IP 连接失败
通过 Windows 服务访问在 localhost 上运行的当前 Lync 实例时,出现异常“主机进程未运行”
java连接sql server报错:com.microsoft.sqlserver.jdbc.SQLServerException: 通过端口 1433 连接到主机 localhost 的 TCP/
java连接sql server报错:com.microsoft.sqlserver.jdbc.SQLServerException: 通过端口 1433 连接到主机 localhost 的 TCP/
通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败。错误:“connect timed out。请验证连接属性,并