首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

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

2012-03-17 
获取局域网中SQL SERVER服务器客户机上没有安装SQL SERVER我用private string[] Getallservers(){string[]

获取局域网中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();  }} 

热点排行