我正在使用以下代码列出所有可用的 SQL Server(它是 taken from here):
DataTable servers = SqlDataSourceEnumerator.Instance.GetDataSources();
for (int i = 0; i < servers.Rows.Count; i++)
{
{
if ((servers.Rows["InstanceName"] as string) != null)
CmbServerName.Items.Add(servers.Rows["ServerName"] + "\\" + servers.Rows["InstanceName"]);
else
CmbServerName.Items.Add(servers.Rows["ServerName"]);
}
}
}
在我的本地系统(计算机名称 SERVER-1)上,我有 SQL Server 2012 Express,在远程 SERVER-2 上,我有 SQL Server 2008。所以当我运行这段代码时,它会返回:
SERVER-1
SERVER-2\SQLSRVR2008INSTANCENAME
应该是什么时候:
SERVER-1\SQLEXPRESS
SERVER-2\SQLSRVR2008INSTANCENAME
我在这里做错了什么?
最佳答案
我想您可以在注册表中找到本地实例。很久以前我也遇到过同样的问题。以下链接对我有帮助 SqlDataSourceEnumerator.Instance.GetDataSources() does not locate local SQL server 2008 instance
关于c# - 列出带有实例的可用 SQL Server 不包括 SQL Server Express,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19530307/