这个SQL数据库错误在C#中意味着什么?

时间:2010-03-05 00:33:29

标签: c# sql-server

我正在添加一个基于服务的数据库,但我收到了这条消息:

建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。 (提供程序:SQL网络接口,错误:26 - 查找指定的服务器/实例时出错)

我是一个绝对的初学者,所以我不知道如何解决这个问题。我正在关注“O'Reilly Head First C Sharp 11月2007”版本。

我在第18页,它要求我添加一个SQL数据库,我收到该错误消息。

我是初学程序员,所以我什么都不懂技术。我什么都不知道。

3 个答案:

答案 0 :(得分:5)

除了不允许远程连接外,还有一些其他原因导致此问题:

  1. 未启用正在使用的协议(例如TCP / IP)。进入SQL Server配置管理器并确保启用了您正在使用的协议。例如。如果您尝试使用TCP / IP,则必须启用TCP / IP。

  2. 防火墙,例如SQL Server机箱本身,可能会阻止流量。如果启用了该服务器上的Windows防火墙,则需要为SQL Server实例使用的端口添加例外(通常为1433)。

  3. SQL Server实例正在侦听的端口(假设TCP / IP连接)不是1433.进入SQL Server配置管理器,进入TCP / IP协议,进入IP地址选项卡,检查端口。

  4. 如果您使用的是服务器名称而不是特定的IP,有时不清楚您实际上是使用TCP / IP协议进行连接。在连接字符串中,您可以通过包含Network Library = DBMSSOCN强制系统使用TCP / IP;像这样:

    <add name="MyConnectionName"
       providerName="System.Data.SqlClient"
       connectionString="Data Source=[Your Server Name];Network Library=DBMSSOCN;Initial Catalog=[Database Name];..."
       />
    

答案 1 :(得分:2)

连接字符串问题。检查一下。否则,它可能是数据库属性下的allow remote connections属性。右键单击数据库并选择属性,然后查看下面的图像。

alt text http://img196.imageshack.us/img196/5751/16583108.gif

答案 2 :(得分:0)

当与SQL服务器的连接不起作用时,这是默认错误,可能意味着服务器已关闭,网络未路由,配置错误等。