【问题标题】:Server connection fails in code but works with database explorer服务器连接在代码中失败,但可与数据库资源管理器一起使用
【发布时间】:2018-12-04 18:53:53
【问题描述】:

我在尝试连接到 SQL 服务器时遇到了一个奇怪的问题。使用 Visual Studio,我可以毫无问题地使用数据库资源管理器进行连接、创建查询并返回结果。通过 C# 代码运行时,使用这些连接中的连接字符串无法连接,出现错误:

网络错误 26。

我已经尝试了所有常见的疑点:防火墙、连接字符串、权限等,现在完全感到沮丧。

Visual Studio VS Express for Desktop 2015 的版本。我尝试过 System.Data.SQL、System.Data.ODBC、实体框架和使用任何 C# 代码的一切都失败了。

谁能解释为什么通过 VS 连接会起作用,但 C# 中的简单连接对象会失败?

附:我不是一个专业的程序员,只是一个试图改进小实验室的小医护人员。

谢谢

工作连接字符串是'Server=server name\instance;Initial Catalog=table;Persist Security Info=True;User ID=my name; Password=pwd;'。将此复制到 C# 代码无法建立连接(如上所述)。我试过SQLCommandBuilder 并失败了。服务器是另一台机器,而不是本地数据库。

示例连接代码:

private void OpenConnection()
{
    string connStr = @"Server=<server name>\<instance>;Initial Catalog=<table>;Persist Security Info=True;User ID=<my name>; Password=<pwd>";

    try {
        using (SqlConnection conn = new SqlConnection(connStr))
        {
            conn.Open();
        }
    }
    catch(Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}

【问题讨论】:

  • 您可以发布连接字符串以及从数据库浏览器成功连接的详细信息吗?
  • 您需要向我们展示您用于连接的代码及其引发错误的位置,最好是替换掉任何敏感信息的连接字符串。
  • 你能分享你的连接字符串吗...???
  • 您是否尝试连接另一台机器上的数据库?

标签: c# sql-server-2008


【解决方案1】:

除了连接字符串之外,如果您也发布您正在尝试的连接类型,这将有很大帮助。我相信这些是三种更常见的连接字符串类型的模型:

标准安全性:

Server=myServerAddress;Database=myDataBase;User Id=myUsername;
Password=myPassword;

可信连接

Server=myServerAddress;Database=myDataBase;Trusted_Connection=True;

连接到 SQL Server 实例

Server=myServerName\myInstanceName;Database=myDataBase;User Id=myUsername;
Password=myPassword;

【讨论】:

    【解决方案2】:

    也许您的连接字符串无效, 首先,为了保证有一个有效的连接字符串,请使用“udl”文件。 用于创建 udl,创建一个记事本文本文件并将扩展名从“txt”更改为 udl,双击它,它会显示“数据链接属性”,因此进行设置,它会生成您的连接字符串,甚至您可以测试连接状态.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-22
      • 1970-01-01
      相关资源
      最近更新 更多