关闭

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

1330人阅读 评论(2) 收藏 举报

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

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:452614次
    • 积分:4052
    • 等级:
    • 排名:第7942名
    • 原创:65篇
    • 转载:95篇
    • 译文:1篇
    • 评论:41条
    文章分类
    最新评论