在.net(C#)中查找本地及局域网内所有sql server实例


因为要做一个数据库辅助小工具,所以需要查到本地与局域网内所有sqlserver实例。完成后将方法写出来,供大家参考:

下面方法是分别将本地及局域网内所有sqlserver实例查找出来并绑定到ComboBox控件中的示例。


一、查找本地sqlserver实例


private void Source_DataBindByLocal()
{
//获取本机的计算机名
string HostName = Dns.GetHostName();

//获取本机的所有服务名
ServiceController[] services = ServiceController.GetServices();
List<string > list = new List<string >();

//循环判断所有服务是否为sqlserver实例
foreach (ServiceController s in services)
{
if (s.ServiceName.ToLower() == "mssqlserver")
{
list.Add(HostName);
}
else if (s.ServiceName.ToLower().IndexOf("mssql$") != -1)
{
list.Add(HostName + "\\" + s.ServiceName.substring(s.ServiceName.IndexOf("$") + 1));
}
}

this.cbSource.DataSource = list;
this.cbSource.SelectedIndex = this.cbSource.Items.IndexOf(HostName);
}


二、查找局域网内sqlserver实例


private void Source_DataBindByLAN()
{
//枚举本地网络内的所有可用SQL Server实例
SqlDataSourceEnumerator SqlDataSourceEnumerator = SqlDataSourceEnumerator.Instance;

//以DataTable的形式返回局域网内所有可见的sqlserver实例
DataTable dt = SqlDataSourceEnumerator.GetDataSources();

List<string > list = new List<string >();
foreach (DataRow dr in dt.Rows)
{
list.Add(dr["ServerName"].ToString());
}

this.cbSource.DataSource = list;
}


很简短的两个方法,供大家参考

本文来源于:http://www.lmwlove.com/ac/ID799

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值