【问题标题】:Can't connect to local SQL Server in C#无法在 C# 中连接到本地 SQL Server
【发布时间】:2011-07-04 19:53:51
【问题描述】:

我想做的是一个使用 SQL Server 2008 数据库的应用程序,但我无法连接到数据库。

这是我的代码:

public Form1()
{
     InitializeComponent(); 
     connection = new SqlConnection("Server=(local);Integrated Security=true");
     connection.Open();    
     CreateDb();    
     this.FormClosed += new FormClosedEventHandler(Form1_FormClosed);
}

我得到的错误是:

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

我正在尝试使用 Windows 身份验证进行连接... 我做错了什么?

【问题讨论】:

  • 我首先要检查的是SqlServer的服务是否开启。
  • 您应该检查您的本地 SQL Server 是否正在运行。
  • @Tigran 我在哪里可以查看? SQL 管理工作室确实可以完美运行...
  • 请提供您的服务器名称/IP。
  • 它可能是一个命名实例吗?所以你需要.\foo 等?

标签: c# sql sql-server forms connection


【解决方案1】:

检查是否在 SQL Server 配置管理器中启用了 TCP/IP 连接。此外,如果您已将其安装为实例,则需要将服务器名称指定为 .\INSTANCE_NAME。

【讨论】:

  • 谢谢,显然如果我将服务器设置为 .\SQLExpress,它确实可以工作。非常感谢。
【解决方案2】:

试试这个:

数据源=localhost\MyInstanceName;初始目录=myDataBase;集成安全=SSPI;

您的实例名称可能是 SQLEXPRESS 或 MSSQL(除非您将其命名为其他名称)。

【讨论】:

  • 是的,就是这样,非常感谢。但很抱歉,我无法选择多个“最佳”答案...
【解决方案3】:

您可以在此页面上找到连接字符串示例:

http://www.connectionstrings.com/

【讨论】:

    【解决方案4】:

    听起来好像 SQL 浏览器未启动或未配置为响应。

    您没有提到您使用的是快递版还是完整版...但这可能并不重要,因为步骤几乎相同:

    http://www.symantec.com/connect/articles/install-and-configure-sql-server-2008-express

    假设所有内容都已实际安装,请从“启用 TCP”部分开始。

    【讨论】:

      【解决方案5】:

      Serverfault 是解决此类问题的绝佳帮助来源。

      尝试以下线程的建议:

      他们中的大多数建议检查服务是否正在运行,检查防火墙,检查用户等

      有很多线程匹配 - search

      虽然它谈到了 sql express,但这个帖子看起来特别有帮助 - https://serverfault.com/questions/191576/sql-server-cant-connect - 有很多东西可以尝试

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-05-24
        • 2019-10-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多