2010-03-05 48 views
2

我正在添加一个基于服务的数据库,但我收到了以下消息:这个SQL数据库错误在C#中意味着什么?

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

我是一个绝对的初学者,所以我不知道如何解决这个问题。我正在阅读“O'Reilly Head First C Sharp 2007年”一书。

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

我是一名初学者程序员,所以我不知道任何技术。我什么都不知道。

+0

可能你发布你的配置文件的相关部分。 – kd7 2010-03-05 00:36:01

+3

您是否尝试阅读错误消息并按照其中的说明进行操作? – erikkallen 2010-03-05 00:45:30

+0

Ah erikkallen,这个RTFM不是这个问题的答案。 :O) – AMissico 2010-03-05 00:50:20

回答

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 Addresses选项卡并检查港口。

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

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

这是当一个SQL服务器的连接不起作用默认的错误,这可能意味着服务器宕机,网络没有路由,配置是错误的,等