欢迎来到.net学习网

欢迎联系站长一起更新本网站!QQ:879621940

您当前所在位置:首页 » C# » 正文

热门阅读

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

创建时间:2012年03月23日 14:13  阅读次数:(8198)
分享到:
因为要做一个数据库辅助小工具,所以需要查到本地与局域网内所有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;
}


很简短的两个方法,供大家参考。
来源:.net学习网
说明:所有来源为 .net学习网的文章均为原创,如有转载,请在转载处标注本页地址,谢谢!
【编辑:

打赏

取消

感谢您的支持,我会做的更好!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

最新评论

共有评论0条
  • 暂无任何评论,请留下您对本文章的看法,共同参入讨论!
发表评论:
留言人:
内  容:
请输入问题 32+5=? 的结果(结果是:37)
结  果: