无法连接到数据库网络错误IOException:连接被拒绝:连接



我正在我的计算机上运行SQL Server Express 10.50.4000.0。我已在TCP/IP上启用,并确保端口设置为1433。我在1433的防火墙中添加了一个异常。服务器服务正在运行。我尝试过localhost和计算机名,但都给出了相同的错误。当我尝试localhost\SQLEXPRESS或[USER-PC]\r\nSQLEXPRESS时,我收到一个错误,说它找不到数据库。

String driverName = "net.sourceforge.jtds.jdbc.Driver";
Class.forName(driverName);
String serverName = "localhost";
String instanceName = "ALLEN-PC\SQLEXPRESS";
String serverPort = "1433";
String database  = serverName +":" + serverPort+"/"+instanceName;
String url = "jdbc:jtds:sqlserver://" + database;
String username = "sa";
String password = "password";
connection = DriverManager.getConnection(url, username, password);

我收到错误:

Could not connect to the database Network error IOException: Connection refused: connect

没有额外的上下文可供调查。

  1. 请确保您的SQL Server Browser服务处于活动状态
  2. 转到AllProgram->SQL Server->配置工具->SQL Server配置管理器->SQL Server网络配置->选择您的服务器实例,右键单击TCP/IP,然后转到IPAddresses。将所有IP的端口号更改为1433。还要确保IP地址处于活动状态并已启用。保存并重新启动服务器

没有数据库服务器在本地主机:1433 上侦听

检查SQL Server浏览器服务是否正在运行

因此,也许使用ip地址而不是localhost会有所帮助。

您的连接字符串需要采用这种格式。在此处找到:http://msdn.microsoft.com/en-us/library/ms378428(v=sql.110).aspx

jdbc:jtds:sqlserver://<yourDBServerIPAddress>SQLEXPRESS:1433;databaseName=AdventureWorks;user=sa;password=*****;

打开Configuration Manager:开始->Microsoft SQL Server->配置工具->SQL Server配置管理器启用TCP/IP:从左侧树中选择:SQL Server网络配置->用于SQLEXPRESS的协议->TCP/IP右键单击并启用它。双击TCP/IP并单击"IP地址"选项卡添加TCP/IP端口:输入TCP端口值为1433,然后单击应用重新启动SQL Server:从左侧树中,选择:SQL Server服务->SQL Server(SQLEXPRESS)->右键单击并重新启动。

解决方案1:使用mssql-jdbc-9.4.0.jre8.jar代替使用jtds驱动程序

替换:

Class.forName("net.sourceforge.jtds.jdbc.Driver");
con = DriverManager.getConnection("jdbc:jtds:sqlserver://<IP>:port/<DatabaseName>",userid,password);

带有:

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");  
DriverManager.getConnection("jdbc:jtds:sqlserver://<IP>:port/<DatabaseName>",userid,password);

解决方案2:

在连接字符串中添加ssl=request参数

con = DriverManager.getConnection("jdbc:jtds:sqlserver://<IP>:port/<DatabaseName>;ssl=request",userid,password);

相关内容

最新更新