【发布时间】:2016-04-14 01:38:58
【问题描述】:
我是 JDBC 连接的新手,我很困惑。我启用了 TCP/IP 和命名管道,并在 TCP/IP -> IP 地址中将 TCP 端口设置为 1433,并重新启动了服务器。我还可以通过具有高级安全性的 Windows 防火墙打开对 SQL Server 的访问。问题是我仍然收到此错误:
SQLException:与主机 MSSQL$SQLFULL、端口的 TCP/IP 连接 1433 失败。错误:“null。验证连接属性,检查 SQL Server 实例正在主机上运行并接受 端口上的 TCP/IP 连接,并且没有防火墙阻止 TCP 连接到端口。”
我在 cmd 上运行以下命令:telnet SQLFULL 1433 并收到此消息:
无法在端口 1433 上打开与主机的连接:连接失败
我的代码:
String url = "jdbc:sqlserver://MSSQL$SQLFULL:1433;databaseName=BA_ELTRUN;";
Connection dbcon = null;
String errorMessages = "";
try
{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
}
catch(java.lang.ClassNotFoundException e)
{
System.out.print("ClassNotFoundException: ");
System.out.println(e.getMessage());
}
try
{
dbcon = DriverManager.getConnection(url,"username","password");
}
catch(SQLException e)
{
System.out.print("SQLException: ");
System.out.println(e.getMessage());
errorMessages = "Could not close connection with the Database Server: <br>"
+ e.getMessage();
throw new SQLException(errorMessages);
}
谁能帮忙?
【问题讨论】:
-
这是您的主机“MSSQL$SQLFULL”吗?需要更多信息。显示代码和数据库设置。
-
@HithamS.AlQadheeb 我添加了我的代码。 MSSQL$SQLFULL 位于 SQL Server 配置管理的“登录身份”字段中。在字段名称中是:SQL Server (SQLFULL)
-
将该值更改为 MS SQL Server 管理登录的“服务器名称”。此外,错误消息应指示连接无法打开而不是无法关闭。
-
@HithamS.AlQadheeb 它是 .\SQLFULL 但编译器不接受此“\”。我收到消息“非法转义字符”。我尝试了“SQLFULL”,但仍然收到此消息“SQLException:与主机 SQLFULL,端口 1433 的 TCP/IP 连接失败。错误:“null。验证连接属性,检查 SQL Server 实例是否正在主机上运行并在端口接受 TCP/IP 连接,并且没有防火墙阻止与端口的 TCP 连接。"。"
-
我投票决定将此问题作为离题结束,因为它与 this question 完全相同。
标签: sql-server jdbc tcp