得到局域网中所有sql2005数据库服务器的列表

「已注销」 2008-06-13 12:33:58
我的电脑已安装了sql2005,在没有局域网的情况下我试了一下方法都没有得到本机的数据库服务器(包括实例名)请帮忙看一下
第一种方法:据说sqldmo是sql2000的
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)
{
this.comboBox1.Items.Add(srv);
}
}
if (this.comboBox1.Items.Count > 0)
this.comboBox1.SelectedIndex = 0;
else
this.comboBox1.Text = "<No available SQL Servers>";
第二种方法:
SqlDataSourceEnumerator instance =SqlDataSourceEnumerator.Instance;
System.Data.DataTable table = instance.GetDataSources();
foreach (System.Data.DataRow var in table.Rows)
{
comboBox1.Items.Add(var["ServerName"]+"\\"+var["InstanceName"]);

}

拜托了!
...全文
141 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2008-06-18
  • 打赏
  • 举报
回复
RegistryKey rk = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Microsoft SQL Server");
String[] instances = (String[])rk.GetValue("InstalledInstances");
if (instances.Length > 0)
{
foreach (String element in instances)
{
if (element == "MSSQLSERVER")
Console.WriteLine(System.Environment.MachineName);
else
Console.WriteLine(System.Environment.MachineName + @"\" + element);
}
}
「已注销」 2008-06-17
  • 打赏
  • 举报
回复
Microsoft.SqlServer.Management.Smo.RegisteredServers.RegisteredServer[] rsvrs = SmoApplication.SqlServerRegistrations.EnumRegisteredServers();
foreach (Microsoft.SqlServer.Management.Smo.RegisteredServers.RegisteredServer rs in rsvrs)
{
String localserver = System.Environment.MachineName;
Console.WriteLine(rs.ServerInstance);

}
已经搞定了,楼上的各位不用吵了,多没意思。
shareliving 2008-06-17
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 Guyschaos 的回复:]
引用 5 楼 shareliving 的回复:
那别人的代码都搞不定还有脸问?悲哀啊
严重是在哪里抄的代码、连里面的没一句代码都没改、我欠楼主你还不要做程序员了。回家种田去吧、农民


[/Quote]

我把分全部给你了
贫僧又回来了 2008-06-17
  • 打赏
  • 举报
回复
你已经惹了很多人了!
shareliving 2008-06-17
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 Guyschaos 的回复:]
引用 5 楼 shareliving 的回复:
那别人的代码都搞不定还有脸问?悲哀啊
严重是在哪里抄的代码、连里面的没一句代码都没改、我欠楼主你还不要做程序员了。回家种田去吧、农民

自己都菜的和什么一样!还有脸说别人?
[/Quote]

鸟毛、我哪里乐你了啊
贫僧又回来了 2008-06-17
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 shareliving 的回复:]
那别人的代码都搞不定还有脸问?悲哀啊
严重是在哪里抄的代码、连里面的没一句代码都没改、我欠楼主你还不要做程序员了。回家种田去吧、农民
[/Quote]
自己都菜的和什么一样!还有脸说别人?
shareliving 2008-06-17
  • 打赏
  • 举报
回复
那别人的代码都搞不定还有脸问?悲哀啊
严重是在哪里抄的代码、连里面的没一句代码都没改、我欠楼主你还不要做程序员了。回家种田去吧、农民
「已注销」 2008-06-17
  • 打赏
  • 举报
回复
对,在问题中已经描述了sqldmo是2000的
贫僧又回来了 2008-06-16
  • 打赏
  • 举报
回复
sqldmo好象是2000的,2005好象是没有的吧!
lovefootball 2008-06-13
  • 打赏
  • 举报
回复
http://www.codeproject.com/KB/database/locate_sql_servers.aspx
看看这个
「已注销」 2008-06-13
  • 打赏
  • 举报
回复
补充本机只有默认的实例名

110,568

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧