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();