DJ메탈짱™의 Free Style

다른 서버의 스키마 정보 반환(SqlConnection) 본문

일(job)/MS(Microsoft)

다른 서버의 스키마 정보 반환(SqlConnection)

뽀&쏭 2016. 5. 27. 11:05

타 서버의 스키마 정보를 필요로 하는 경우
해당 서버의 스키마 정보를 반환하는 메소드를 SqlConnection 에서 제공하고 있습니다.
아래 메소드 참고하시길 바랍니다.
        
        /// <summary>
        /// 
작성일 : 2009/03/23
        /// 
작성자 : bhchoi
        /// <remarks>데이터베이스 목록 반환.</remarks>
        /// </summary>
        /// <param name="conStr">Connection String</param>
        /// <returns>DataTable</returns>
        public DataTable GetDataBaseList(string conStr)
        {
            DataTable dtTable = null ;

                using (SqlConnection sqlConx = new SqlConnection(conStr))
                {
                    sqlConx.Open();
                    dtTable = sqlConx.GetSchema("Databases");
                    sqlConx.Close();
                }

            return dtTable;
        }

        /// <summary>
        /// 작성일 : 2009/03/23
        /// 작성자 : bhchoi
        /// <remarks>테이블 목록 반환.</remarks>
        /// </summary>
        /// <param name="conStr">Connection String</param>
        /// <returns>DataTable</returns>
        public DataTable GetTableList(string conStr)
        {
            DataTable dtTable = null;

                using (SqlConnection sqlConx = new SqlConnection(conStr))
                {
                    sqlConx.Open();
                    dtTable = sqlConx.GetSchema("Tables");
                    sqlConx.Close();
                }

            return dtTable;
        }

        /// <summary>
        /// 작성일 : 2009/03/23
        /// 작성자 : bhchoi
        /// <remarks>컬럼 목록 반환.</remarks>
        /// </summary>
        /// <param name="conStr">Connection String</param>
        /// <param name="tableName">테이블명</param>
        /// <returns>DataTable</returns>
        public DataTable GetColumnList(string conStr, string tableName)
        {
            DataTable dtTable = null;

                using (SqlConnection sqlConx = new SqlConnection(conStr))
                {
                    sqlConx.Open();
                    dtTable = sqlConx.GetSchema("Columns", new string[4] { nullnull, tableName, null});
                    sqlConx.Close();
                }

            return dtTable;
        }