枚举MSSQL Server的实例


  using System;
  using System.Collections.Generic;
  using System.ComponentModel;
  using System.Data;
  using System.Drawing;
  using System.Text;
  using System.Windows.Forms;

  //所引入的命名空间
  using System.Data.Sql;

  namespace EnumSqlServer
  {
  public partial class MainForm : Form
  {
  public MainForm()
  {
  InitializeComponent();
  }

  private void MainForm_Load(object sender, EventArgs e)
  {
  //枚举当地网络内全部可用SqlServer实例
  SqlDataSourceEnumerator instance = SqlDataSourceEnumerator.Instance;
  //返回
  //----------------------------------------------------------------------------
  // ServerName|服务器的名称
  //----------------------------------------------------------------------------
  // InstanceName|服务器实例的名称 。假如服务器作为默许实例运行,则为空白
  //----------------------------------------------------------------------------
  // IsClustered| 批示服务器是不是属于群集
  //----------------------------------------------------------------------------
  // Version|服务器的版本(SQLServer2000为8.00.x,SQLServer2005为9.00.x)
  //----------------------------------------------------------------------------
  DataTable dt = instance.GetDataSources();
  //绑定
  cboServerList.DataSource = CreateCboDataSource(dt);
  }

  /// <summary>
  /// 获得ComBox的数据源
  /// </summary>
  /// <param name="dt"></param>
  /// <returns></returns>
  private List<string> CreateCboDataSource(DataTable dt)
  {
  List<string> list = new List<string>();

  foreach (DataRow dr in dt.Rows)
  {
  //只取ServerName
  list.Add(dr[0].ToString());
  }

  return list;
  }
  }
  }