没有服务器名称的连接字符串

connection string without server name

我正在开发一个带有 sql server express 数据库的 c# 应用程序,它应该在本地网络中 运行。我想通过 InstallAware 为我的项目进行设置。

我想知道如何为客户端设置连接字符串,但我不知道服务器名称,另一方面我想连接到只知道 InstanceName 的数据库。

ConnectionString = @"Data Source=ServerName\InstanceName;Initial Catalog=Accounting;Persist Security Info=True;User ID=sa;Password=password";
public static string GetServerName()
    {
        // https://msdn.microsoft.com/en-us/library/a6t1z9x2%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396

        DataTable dt = SqlDataSourceEnumerator.Instance.GetDataSources();
        DataRow[] dr = dt.Select("InstanceName='myInstanceName'");

        if (dr.Length == 0)
            return null;

        return dr[0]["ServerName"].ToString();
    }