Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 带有实例参数的SQL连接字符串_C#_Asp.net_Sql_Sql Server_C# 4.0 - Fatal编程技术网

C# 带有实例参数的SQL连接字符串

C# 带有实例参数的SQL连接字符串,c#,asp.net,sql,sql-server,c#-4.0,C#,Asp.net,Sql,Sql Server,C# 4.0,我正在尝试检查(在.NETC#)是否能够连接到SQLServer。但是,每当我在连接字符串中指定实例时,我将无法再连接: 这项工作: builder.ConnectionString = "Server=DLS-534;user id=sa;password=Mypassword;initial catalog=master"; 这不起作用: builder.ConnectionString = "Server=DLS-534\\SQL_2008_R2_DEV;user id=sa;passw

我正在尝试检查(在.NETC#)是否能够连接到SQLServer。但是,每当我在连接字符串中指定实例时,我将无法再连接:

这项工作:

builder.ConnectionString = "Server=DLS-534;user id=sa;password=Mypassword;initial catalog=master";
这不起作用:

builder.ConnectionString = "Server=DLS-534\\SQL_2008_R2_DEV;user id=sa;password=Mypassword;initial catalog=master";
为什么这不起作用???。我确实需要能够连接到一个特定实例,因为一个用户可能有几个数据库

我的完整代码:

            SqlConnectionStringBuilder builder =
                new SqlConnectionStringBuilder();

builder.ConnectionString = "Server=DLS-534\\SQL_2008_R2_DEV;user id=sa;password=Mypassword;initial catalog=master";

            using (var connection = new SqlConnection(builder.ConnectionString))
            {
                try
                {
                    connection.Open();
                    return true;
                }
                catch (SqlException)
                {
                    return false;
                }
            }

我与实例的工作代码:

const string connStringWork = "Data Source=server\\instance;Initial Catalog=db;Integrated Security=True;Application Name=ЦС";

using (SqlConnection conn = new SqlConnection(connStringWork))
{

}

好的,你编辑了你的问题

--忽略---

您正在两个位置分配连接字符串:

  • newsqlconnectionstringbuilder(GetConnectionString())
  • builder.ConnectionString=“…”
  • GetConnectionString()
    做什么?如果将其替换为连接字符串,并省略第二个位置,该怎么办

    --结束忽略--

    除此之外,internet上还有一个资源可用于查找所需的连接字符串:


    选择数据库并查找字符串。如果字符串的格式与它们的格式相同,则您的参数肯定有问题。

    我想您忘记将值指定给字符串了

    SqlConnectionStringBuilder builder =
                        new SqlConnectionStringBuilder(GetConnectionString());
    
        builder.ConnectionString = "Server=DLS-534\\SQL_2008_R2_DEV;user id=sa;password=Mypassword;initial catalog=master";
    
    connString = builder;
                    using (var connection = new SqlConnection(connString))
                    {
                        try
                        {
                            connection.Open();
                            return true;
                        }
                        catch (SqlException)
                        {
                            return false;
                        }
                    }
    

    使用@符号来转义\

    我认为这与系统上SQL Server的设置方式有关。我相信可以以一种不需要实例名的方式安装它(如果包含实例名,则不起作用)

    因此,根据安装SQL Server的方式,可能需要提供实例名称,也可能不需要提供


    如果您不确定或无法控制安装方法,那么我将首先使用实例名进行尝试(例如:
    Server=localhost\SQLServer2016Express
    ),如果作为备用方法失败,请尝试不使用实例名进行连接(仅连接到主机名)例如:
    Server=localhost

    尝试一下IP和端口:connectionString=“Data Source=XXX.XXX.XXX.XXX,XXXX

    ,您得到的确切错误消息是什么?
    builder.ConnectionString = @"Server=DLS-534\SQL_2008_R2_DEV;user id=sa;password=Mypassword;initial catalog