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

标签 c# sql-server

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

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

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

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

我是一名初级程序员,所以我不懂任何技术知识。我开始一无所知。

最佳答案

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

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

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

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

如果您使用的是服务器名称而不是特定 IP,有时并不清楚您实际上是在使用 TCP/IP 协议(protocol)进行连接。在连接字符串中,您可以通过包含 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];..."
   />

关于c# - 这个 SQL 数据库错误在 C# 中意味着什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2383763/

相关文章:

c# - 存储在字符串变量中的值在每次页面加载时丢失

c# - 优化 C# 中的 HTML 标记删除

sql-server - 使用 CAST 和 bigint

sql-server - Azure 和 SQL Server : Named Pipes Provider, 错误:40 - 无法打开与 SQL Server 的连接

c# - 在 C# 中创建扩展方法

c# - 如何对将记录插入 RIA 服务数据库的函数进行单元测试?

C# MySql 连接器库存储在项目中?

c# - 带有 Entity Framework 的 SQL 触发器

如果使用具有相对路径的连接字符串,C# insert 会暂时工作

sql-server - 在 SQL Server 2008 中显示 View 内容