0

我想显示与 SQL Server Management Studio 相同的服务器名称列表。

当我使用

SqlDataSourceEnumerator instance = SqlDataSourceEnumerator.Instance;
System.Data.DataTable table = instance.GetDataSources();

在返回列表中,服务器名称列表为真,但实例名称为假。在我的 PC 中,服务器名称为[name of pc]\SQLEXPRESS,但实例名称的返回值为 none。

谢谢你。

4

1 回答 1

0

SQL server 的安装实例名称是用来读取你的机器注册表的。它将从您的本地计算机获取所有 SQL 实例。

        RegistryKey rk = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Microsoft SQL Server");
        String[] instances = (String[])rk.GetValue("InstalledInstances");
        if (instances.Length > 0)
        {
            foreach (String element in instances)
            {
                if (element == "MSSQLSERVER")
                    Console.WriteLine(System.Environment.MachineName);
                else
                    Console.WriteLine(System.Environment.MachineName + @"\" + element);

            }
            Console.ReadLine();
        }
于 2018-08-22T11:52:15.347 回答