다음을 통해 공유


호스트 파일 시스템에서 스키마 집합을 검색하는 방법

HostFileConnection가 열려 있을 때, GetSchema 메서드를 사용하여 대상 데이터에 대한 스키마 정보를 검색할 수 있습니다. GetSchemaDataTable 현재 연결 대상의 스키마 정보를 포함하는 행과 열로 채워진 개체를 반환합니다.

또한 DBDataReader이(가) 열려 있는 동안, GetSchemaTable 메서드를 사용하여 현재 결과 집합에 대한 스키마 정보를 검색할 수 있습니다. GetSchemaTableDataTable 현재 결과 집합에 대한 스키마 정보를 포함하는 행과 열로 채워진 개체를 반환합니다. 개체는 DataTable 결과 집합의 각 열에 대해 하나의 행을 포함합니다. 스키마 테이블 행의 각 열은 결과 집합에서 반환된 열의 속성에 매핑됩니다. 여기서 ColumnName 속성의 이름과 열 값은 속성 값입니다.

호스트 파일 시스템에서 스키마 집합을 검색하려면

  1. 를 호출 HostFileConnection하여 호스트 파일 시스템에 대한 연결을 엽니다.

  2. 스키마 데이터를 검색하기 위한 호출 HostfileConnection.GetSchema 입니다.

예시

다음 코드 예제에서는 연결 개체에서 스키마 집합을 검색하는 방법을 보여 줍니다. ETCMLogging 및 HostFileUtils 개체는 로깅 및 유틸리티 기능을 제공하는 개발자가 만든 개체입니다.

public void CNGetSchema(ETCMLogging.Logging logging, string host, string ccsid, string cnstring, HostFileUtils.Utils.HostFileType hostfiletype)  
        {  
            HostFileUtils.Oledb oledb = new HostFileUtils.Oledb();  
            HostFileUtils.Utils u = new HostFileUtils.Utils();  
            logging.LogInfo(host);  
            try  
            {  
                // Create connection.  
                HostFileConnection cn = oledb.CreateConnection(logging);  
                cn.ConnectionString = cnstring;  
                DataTable dt = cn.GetSchema();  
                if (dt.HasErrors)  
                {  
                    logging.LogFail("returned datatable has errors");  
                }  
                // Open the connection.  
                logging.LogInfo("Open Connection");  
                cn.Open();  
                DataTable dt2 = cn.GetSchema();  
                if (dt2.HasErrors)  
                {  
                    logging.LogFail("returned datatable has errors");  
                }  
                int rowcnt = dt.Rows.Count;  
                for (int i = 0; i < rowcnt; i++)  
                {  
                    int colcnt = dt.Rows[i].ItemArray.Length;  
                    for (int o = 0; o < colcnt; o++)  
                    {  
                        u.CompareValues(dt.Rows[i][o].ToString(), dt2.Rows[i][o].ToString(), logging);                          
                    }  
                }  
                // Close the open connection.  
                cn.Close();  
            }  
            catch (Exception e)  
            {  
                logging.LogInfo(e.Message);  
                logging.LogFail(e.StackTrace);  
            }  
        }  

또한 참조하십시오

호스트 파일 시스템에서 정보 검색
호스트 파일용 BizTalk 어댑터 구성