读书人

获取局域网中SQL SERVER服务器解决方案

发布时间: 2012-03-17 19:06:27 作者: rapoo

获取局域网中SQL SERVER服务器
客户机上没有安装SQL SERVER我用
private string[] Getallservers()
{
string[] servers;
SQLDMO.NameList num;
SQLDMO.ApplicationClass rs = new SQLDMO.ApplicationClass();
num = rs.ListAvailableSQLServers();
servers = new string[num.Count];
for (int i = 1; i <= num.Count; i++)
{
servers[i - 1] = num.Item(i);
}
return servers;

}
这种方法是不行的, 在SQLDMO.ApplicationClass rs = new SQLDMO.ApplicationClass();
处会出错的,可能是客户机上没有安装SQL SERVER的缘故,有没有那种办法可以实现?

[解决办法]
下面的控制台应用程序显示本地网络内的所有可用 SQL Server 2005 实例的列表。该代码使用 Select 方法筛选 GetDataSources 方法返回的表中的行。

C# code
using System.Data.Sql;class Program{  static void Main()  {    // Retrieve the enumerator instance, and    // then retrieve the data sources.    SqlDataSourceEnumerator instance =      SqlDataSourceEnumerator.Instance;    System.Data.DataTable table = instance.GetDataSources();    // Filter the sources to just show SQL Server 2005 instances.    System.Data.DataRow[] rows = table.Select("Version LIKE '9%'");    foreach (System.Data.DataRow row in rows)    {      Console.WriteLine(row["ServerName"]);    }    Console.WriteLine("Press any key to continue.");    Console.ReadKey();  }} 

读书人网 >C#

热点推荐