我想显示与SQL Server Management Studio相同的服务器名称列表。
当我使用
SqlDataSourceEnumerator instance = SqlDataSourceEnumerator.Instance;
System.Data.DataTable table = instance.GetDataSources();
在返回列表中,服务器名称列表为true,但实例名称为false。在我的PC上,服务器名称为[name of pc]\SQLEXPRESS
,但实例名称的返回值无。
谢谢。
答案 0 :(得分: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();
}