无法连接到SQL Server,错误:0 - 无法建立连接,因为目标计算机主动拒绝它

时间:2012-07-10 12:28:18

标签: sql-server

我是SQL相关问题的新手,所以请在我缺乏知识的情况下提出问题并提出一个之前曾被问过无数次的问题。

我必须连接到位于xxx.xx.xxx.xx:3306远程位置的SQL数据库服务器,但每次尝试连接时都会出现同样的错误:

  

“建立与SQL Server的连接时发生与网络相关或特定于实例的错误。未找到服务器或无法访问服务器。验证实例名称是否正确以及SQL Server是否配置为允许远程连接。 (提供者:TCP提供者,错误:0 - 无法建立连接,因为目标计算机主动拒绝它。)“

无论我是尝试使用SQL Server Management Studio连接还是通过C#程序连接,我都会遇到同样的错误:

 SqlConnection myConnection = new SqlConnection(...)
 myConnection.Open();

我在同一个家庭网络上的两台不同的计算机上尝试过它。我已经看了我安装了SQL Server的计算机上的SQL Server配置管理器,启用了TCP / IP并摆弄了端口值设置,但我猜这只是为了在我的计算机上配置SQL服务器和连接到远程的无关。我甚至不需要安装SQL服务器来在远程服务器上进行查询,对吧?

虽然ShieldsUP仍然说

,但我已关闭了我的Windows防火墙和路由器防火墙
  

港口:3306   状态:隐身

     

您的系统已获得完美的“TruStealth”评级。由于我们的安全探测测试,未从您的系统收到任何数据包(请求或其他)。您的系统被忽略并拒绝回复重复的Ping(ICMP Echo Requests)。从任何黑客的传递探测的角度来看,这台机器在互联网上不存在。一些有问题的个人安全系统通过试图“反探探测者”来揭露他们的用户,从而揭示他们自己。但是你的系统明智地保持沉默。很好。

我读到这也是无关紧要的,因为我不是托管服务器的人,但是当我获得地址时,我也得到了端口,所以我必须要对它做点什么。我只是不确定是什么。我对港口的理解确实非常不稳定。

我一直在尝试这一天超过一天,我想不出我能做的更多。

编辑:我解决了这个问题。我不得不使用MySQL,而不是MSSQL。卫生署。对不起伙计们。

3 个答案:

答案 0 :(得分:1)

如果您确定远程SQL Server正在端口3306上运行(否则我不确定您为什么要专门讨论该端口的问题),请尝试以下连接字符串:

user id=username; password=password;
data source=123.45.678.90,3306; 
initial catalog=dbname; 
Network Library=dbmssocn;

我认为如果没有端口,如果另一端禁用​​了SQL浏览器服务,则会遇到麻烦。您还应该确保它不是命名实例,在这种情况下您可能需要:

user id=username; password=password;
data source=123.45.678.90\InstaneName,3306; 
initial catalog=dbname; 
Network Library=dbmssocn;

答案 1 :(得分:0)

首先,数据库是本地的还是遥远的? 您必须确保您的连接字符串写得很好。 以下是有效连接字符串的示例:

Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;

有关连接字符串的更多信息: Connection Strings

现在,如果一切设置正确,您必须在主机上启用与SQL Server的远程连接。为此,请参阅这篇文章: Enable SQL Server Remote Connections

答案 2 :(得分:0)

只需访问ypur服务并检查 SQL Server(MSSQLSERVER)是否正在运行。大多数情况下,当SQL Server(MSSQLSERVER)停止时,会发生此错误。 enter image description here

然后右键单击并单击start.problem solve !!!