尝试使用C#连接到SQL Server时出错

时间:2011-01-27 06:44:27

标签: c# .net sql-server sqlconnection

我的代码如下:

string constring = "Data Source=132.186.127.169"+ "Initial Catalog=CadPool1;" + "Integrated Security=True";
SqlConnection con;
con = new SqlConnection(constring);
con.Open();
string query="SELECT * from CadPoolProjectTable1";
SqlCommand cmd = new SqlCommand(query, con);
cmd.ExecuteNonQuery();
MessageBox.Show("selected");
con.Close(); 

我在con.Open();行遇到错误。错误是:

  

与网络相关或特定于实例的   建立一个错误时发生错误   连接到SQL Server。服务器   没找到或无法访问。   验证实例名称是否为   正确和SQL Server是   配置为允许远程   连接。 (提供者:命名管道   提供者,错误:40 - 无法打开   连接到SQL Server)

6 个答案:

答案 0 :(得分:4)

你错过了';'在连接字符串中的服务器名称之后。

string constring = "Data Source=132.186.127.169"+ "Initial Catalog=CadPool1;" + "Integrated Security=True";

应该是

string constring = "Data Source=132.186.127.169;"+ "Initial Catalog=CadPool1;" + "Integrated Security=True";

错误表明您的应用无法连接到服务器。我会做以下几点。

  1. 检查服务器地址(快速查看看起来不错)
  2. 使用管理工作室连接,在您的情况下它应该有效。
  3. 这意味着问题在于代码。因为你连接字符串我会调试代码并查看连接字符串的最终结果是什么。

    提示:如果是Web应用程序,请将连接字符串添加到web.config文件中。更多信息How to: Read Connection Strings from the Web.config File

答案 1 :(得分:3)

您的连接字符串中缺少分号

Data Source=132.186.127.169;"+ "Initial...
                           ^

如果您需要自己构建连接字符串,可以使用SqlConnectionStringBuilder类。这样你就不会被这些微妙的错误所困扰。

答案 2 :(得分:2)

您的连接字符串错误:

string constring = 
    "Data Source=132.186.127.169;Initial Catalog=CadPool1;Integrated Security=True";

您不需要将字符串连接在一起,但更重要的是,您错过了分号“;”在数据源和初始目录设置之间。

答案 3 :(得分:0)

首先,您在数据源和初始目录之间缺少;(分号)。

其次,如果这是一个新安装的SQL Server实例,您可能需要进入SQL Server配置管理器,并启用您需要的协议。

答案 4 :(得分:0)

请检查您是否可以通过cmd ping提到的服务器 还可以从您的计算机上尝试telnet到服务器。 要检查的另一件事是服务器配置的端口,如果它不是默认端口,则必须将端口添加为132.186.127.169,XXX

答案 5 :(得分:0)

连接字符串中的Servername错误。并且由于没有动态值,因此您不需要字符串连接。将其更改为:

string constring = "Data Source=132.186.127.169;
                    Initial Catalog=CadPool1;
                    Integrated Security=True";