如何检测局域网中所有的SQL Server服务器,并显示所有服务器地址? 请大哥帮忙一下,我写的从自己的机器(192.168.1.1)上从1434端口广播(192.168.1.255)了这个UDP包,然后,整个局域网中的SQL Server服务器都开始响应这个UDP数据包,所有这些都是明文传输的,我们可以很容易探测一个IP地址的1434端口,获得该IP地址上运行的SQL Server的相关信息。速度超慢!!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 #region 取得区域内的服务器名 private void GetSQlServer() { SQLDMO.NameList NameList; SQLDMO.ApplicationClass appsql=new SQLDMO.ApplicationClass(); int Index; try { cboServerName.Items.Clear(); NameList=appsql.ListAvailableSQLServers(); if(NameList.Count>0) { for(Index=1;Index<=NameList.Count;Index++) { if(NameList.Item(Index).Equals("(local)")) { cboServerName.Items.Add(Environment.MachineName); } else { cboServerName.Items.Add(NameList.Item(Index).ToString()); } } } } catch(Exception ex) { appsql=null; NameList=null; MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { appsql=null; NameList=null; } } #endregion要引用SQLDMO.dll文件 http://www.cnblogs.com/gwazy/archive/2005/03/02/111127.html看看吧. SQLDMO.Application sqlApp = new SQLDMO.ApplicationClass(); SQLDMO.NameList sqlServers = sqlApp.ListAvailableSQLServers(); for(int i=0;i<sqlServers.Count;i++) { object srv = sqlServers.Item(i + 1); if(srv != null) { cboServers.Items.Add(srv); } } if(cboServers.Items.Count > 0) cboServers.SelectedIndex = 0; else cboServers.Text = "<No available SQL Servers>"; 关键要添加对sqldmo.dll的引用 C#如何用函数名字符串来调用函数 Winform上完了 要做项目了 大家帮帮忙 C#调用Win32问题 C#中如何聲明用戶控件?為什麼我的UserControls中沒有成員? ASP.NET防盗链IHttpHandler源码(如何做的?) windows应用程序中的datagrid,怎样,隐藏列?还有怎样打印datagrid中的值? DropDownList 怎样做一个帮助文件? C#中Font类的序列化问题 【求助】派生类中的函数访问基类同名数据成员的问题 操作注册表问题 C#如何调用水晶报表
private void GetSQlServer()
{
SQLDMO.NameList NameList;
SQLDMO.ApplicationClass appsql=new SQLDMO.ApplicationClass();
int Index;
try
{
cboServerName.Items.Clear();
NameList=appsql.ListAvailableSQLServers();
if(NameList.Count>0)
{
for(Index=1;Index<=NameList.Count;Index++)
{
if(NameList.Item(Index).Equals("(local)"))
{
cboServerName.Items.Add(Environment.MachineName);
}
else
{
cboServerName.Items.Add(NameList.Item(Index).ToString());
}
}
}
}
catch(Exception ex)
{
appsql=null;
NameList=null;
MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
finally
{
appsql=null;
NameList=null;
}
}
#endregion要引用SQLDMO.dll文件
SQLDMO.NameList sqlServers = sqlApp.ListAvailableSQLServers();
for(int i=0;i<sqlServers.Count;i++)
{
object srv = sqlServers.Item(i + 1);
if(srv != null)
{
cboServers.Items.Add(srv);
}
}
if(cboServers.Items.Count > 0)
cboServers.SelectedIndex = 0;
else
cboServers.Text = "<No available SQL Servers>";
关键要添加对sqldmo.dll的引用