我想将Java类文件与SQL Server 2012连接。我已经使用SQL Server身份验证登录。但我收到连接错误。
错误: 到主机127.0.0.1,端口1433的TCP / IP连接已失败。错误:“连接被拒绝:连接。验证连接属性。确保主机上正在运行SQL Server实例并接受端口上的TCP / IP连接。确保防火墙不阻止与端口的TCP连接。“
我的代码---
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); //1. Register your driver
//2. get the connection object
//Connection con = DriverManager.getConnection("jdbc:sqlserver://localhost;databaseName=aysha","sa","admin");
Connection con = DriverManager.getConnection("jdbc:sqlserver://127.0.0.1;databaseName=aysha","user=sa","password=admin");
//"jdbc:sqlserver://127.0.0.1:1433; Instance=SQL2008;" + "databaseName=MB;user=sa;password=123;";
//Connection con = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=aysha","sa" , "password");
//3. Prepare a statement
Statement stmt = con.createStatement();
//4. Write the query`
String sql = "Select * from employee";
//5. Execute the statement and
ResultSet rs = stmt.executeQuery(sql);
//6. Process the result set
while (rs.next())
{
System.out.println(rs.getInt(1));
}
答案 0 :(得分:169)
如果还有其他问题,请告知我们。
感谢。
答案 1 :(得分:94)
简易解决方案
开始 - >所有程序 - > Microsoft SQL Server 2012->配置工具 - >单击SQL Server配置管理器 - >展开SQL Server网络配置 - >协议 - >启用TCP / IP右框
双击TCP / IP并转到IP地址点击并将端口1433置于TCP端口下。
答案 2 :(得分:12)
错误是不言自明的:
我经常使用的一个很好的检查是使用telnet,例如在Windows命令提示符下运行:
telnet 127.0.0.1 1433
如果出现空白屏幕,则表示网络连接已成功建立,并且不是网络问题。如果你得到'无法打开与主机的连接'那么这就是网络问题
答案 3 :(得分:6)
转到开始 - >所有程序 - > Microsoft SQL Server 2012->配置工具 - >单击“SQL Server配置管理器”。
如果您看到“SQL Server / SQL Server浏览器状态”已“停止”。请单击“SQL Server / SQL Server浏览器”,然后单击“启动”。 在某些情况下,虽然已分配与端口1433的TCP连接,但上述状态可能会停止。
答案 4 :(得分:2)
如错误所示,您需要确保您的sql server正在运行并侦听端口1433.如果服务器正在运行,那么您需要检查是否有一些防火墙规则拒绝端口1433上的连接。
以下是可用于排除故障的命令:
netstat -a
检查sql server是否正在侦听所需的端口telnet
答案 5 :(得分:0)
重要:
完成任何更改或新设置后,您必须重新启动SQLSERVER
服务。在services.msc
上运行Windows
答案 6 :(得分:0)
如果您使用的是命名实例,则您使用的端口可能是1434,而不是1433,因此也请使用上述的telnet或netstat进行检查。
答案 7 :(得分:0)