服务器连接在代码中失败,但与数据库资源管理器一起工作

本文关键字:数据库 资源管理器 一起 工作 连接 代码 失败 服务器 | 更新日期: 2023-09-27 18:18:16

我有一个奇怪的问题,试图连接到一个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,失败了。服务器是另一台机器,而不是本地DB。

连接代码示例:

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);
    }
}

服务器连接在代码中失败,但与数据库资源管理器一起工作

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

标准安全:

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;

可能您的连接字符串无效,首先,为了确保拥有一个有效的连接字符串,请使用"udl"文件。对于创建udl,创建一个记事本文本文件,并将扩展名从"txt"更改为udl,双击它,它会显示你的"数据链接属性",所以设置它,它使你的连接字符串,甚至你可以测试连接状态