How to Find All SQL Server Instance Running in Local Network c#

代码
How to Find All SQL Server Instance Running in Local Network c#
C#
//Create new class its name to GetInstance and write this below code on GetInstance class.
using System.Data.Sql;
using System.Collections;
using System.Data;

namespace SqlServer
{
public class GetInstance
{
public static ArrayList GetInstanceName()
{
try
{
SqlServerList SqlSL
= new SqlServerList();
SqlDataSourceEnumerator instance
= SqlDataSourceEnumerator.Instance;
DataTable table
= instance.GetDataSources();
ArrayList list
= new ArrayList();
foreach (DataRow row in table.Rows)
{
SqlSL
= new SqlServerList();
SqlSL.ServerName
= row[0].ToString();
SqlSL.InstanceName
= row[1].ToString();
SqlSL.IsClustered
= row[2].ToString();
SqlSL.Version
= row[3].ToString();
list.Add(SqlSL);
}
return list;
}
catch
{
return null;
}
}
}
}



//Create new class its name to SqlServerList and write this below code on SqlServerList class.


using System;

namespace SqlServer
{
[Serializable]
class SqlServerList : IComparable, ICloneable
{
public SqlServerList()
{
ServerName
= string.Empty;
InstanceName
= string.Empty;
IsClustered
= string .Empty ;
Version
= string.Empty;
}

#region ICloneable Members

public object Clone()
{
try
{
if (this == null)
{
return null;
}
SqlServerList SqlSL
= new SqlServerList { ServerName = ServerName, InstanceName = InstanceName, IsClustered = IsClustered, Version = Version };
return SqlSL;
}
catch
{
throw new NotImplementedException();
}
}

#endregion

#region IComparable Members

public int CompareTo(object obj)
{
try
{
if (!(obj is SqlServerList))
{
throw new Exception("obj is not an instance of SqlServerList");
}
if (this == null)
{
return -1;
}
return ServerName.CompareTo((obj as SqlServerList).ServerName);
}
catch
{
throw new NotImplementedException();
}
}

#endregion

public string ServerName { get; set; }
public string InstanceName { get; set; }
public string IsClustered { get; set; }
public string Version { get; set; }
}
}

//use this class :

System.Collections.ArrayList AllInstanceSqlserver
= SqlServer.GetInstance.GetInstanceName();

 

posted @ 2010-11-25 23:44  Code技术人生  阅读(355)  评论(0编辑  收藏  举报