DotNet 獲取所有 SQL Server 的數據庫實例名稱


項目中需要對某些數據做定是同步,由於做了分庫處理,所以需要獲取到數據庫中的所有實例,以下就是獲取所有數據庫實例的方法:

        /// <summary>
        /// 獲取指定 IP 地址的數據庫所有數據庫實例名。
        /// </summary>
        /// <param name="ip">指定的 IP 地址。</param>
        /// <param name="username">登錄數據庫的用戶名。</param>
        /// <param name="password">登陸數據庫的密碼。</param>
        /// <returns>返回包含數據實例名的列表。</returns>
        private ArrayList GetAllDataBase(string ip, string username, string password)
        {
            ArrayList DBNameList = new ArrayList();
            SqlConnection Connection = new SqlConnection(
                String.Format("Data Source={0};Initial Catalog = master;User ID = {1};PWD = {2}", ip, username, password));
            DataTable DBNameTable = new DataTable();
            SqlDataAdapter Adapter = new SqlDataAdapter("select name from master..sysdatabases", Connection);

            lock (Adapter)
            {
                Adapter.Fill(DBNameTable);
            }

            foreach (DataRow row in DBNameTable.Rows)
            {
                DBNameList.Add(row["name"]);
            }

            return DBNameList;
        }

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM