服务器连接在代码中失败,但与数据库浏览器一起使用

时间:2016-11-17 09:43:56

标签: c# sql-server-2008

我在尝试连接SQL服务器时遇到了一个奇怪的问题。使用Visual Studio我可以使用数据库资源管理器连接而不会出现任何问题,创建查询并获取结果。使用来自这些连接的连接字符串在通过C#代码运行时无法连接,我收到错误:

  

网络错误26。

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

Visual Studio VS Express for Desktop 2015的版本。我尝试过System.Data.SQL,System.Data.ODBC,实体框架,并且使用任何C#代码的所有内容都失败了。

任何人都可以解释为什么通过VS的连接会起作用,但C#中的简单连接对象会失败吗?

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

由于

工作连接字符串为'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);
    }
}

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

标准安全:

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;