OleDbDataReader.GetSchemaTable 메서드

정의

DataTable 의 열 메타데이터를 설명하는 값을 반환합니다OleDbDataReader.

public:
 virtual System::Data::DataTable ^ GetSchemaTable();
public:
 override System::Data::DataTable ^ GetSchemaTable();
public System.Data.DataTable GetSchemaTable();
public override System.Data.DataTable GetSchemaTable();
abstract member GetSchemaTable : unit -> System.Data.DataTable
override this.GetSchemaTable : unit -> System.Data.DataTable
override this.GetSchemaTable : unit -> System.Data.DataTable
Public Function GetSchemaTable () As DataTable
Public Overrides Function GetSchemaTable () As DataTable

반품

열 메타데이터를 설명하는 A DataTable 입니다.

구현

예외

설명

이 메서드는 GetSchemaTable OLE DB IColumnsRowset::GetColumnsRowset 메서드에 매핑되고 각 열에 대한 메타데이터를 다음 순서로 반환합니다.

DataReader 열 OLE DB 열 ID Description
ColumnName DBCOLUMN_NAME 열의 이름입니다. 고유하지 않을 수 있습니다. 이 값을 확인할 수 없으면 null 값이 반환됩니다. 이 이름은 항상 현재 보기 또는 명령 텍스트에서 열의 가장 최근 이름 바꾸기를 반영합니다.
ColumnOrdinal DBCOLUMN_NUMBER 열의 0부터 시작하는 서수입니다. 이 열은 null 값을 포함할 수 없습니다.
ColumnSize DBCOLUMN_COLUMNSIZE 열에 있는 값의 가능한 최대 길이입니다. 고정 길이 데이터 형식을 사용하는 열의 경우 데이터 형식의 크기입니다.
NumericPrecision DBCOLUMN_PRECISION DbType이 숫자 데이터 형식인 경우 열의 최대 전체 자릿수입니다. 데이터 형식이 DBTYPE_DECIMAL 또는 DBTYPE_NUMERIC 열의 전체 자릿수는 열의 정의에 따라 달라집니다. DbType이 숫자 데이터 형식이 아니면 null 값입니다.
NumericScale DBCOLUMN_SCALE DbType이 DBTYPE_DECIMAL 또는 DBTYPE_NUMERIC 경우 소수점 오른쪽의 숫자 수입니다. 그렇지 않으면 null 값입니다.
데이터 유형 None 열의 .NET 형식에 매핑합니다.
ProviderType DBCOLUMN_TYPE 열의 데이터 형식 표시기입니다. 열의 데이터 형식이 행마다 다르면 DBTYPE_VARIANT 합니다. 이 열은 null 값을 포함할 수 없습니다.
IsLong DBCOLUMNFLAGS_ISLONG 이 공급자는 열에 매우 긴 데이터가 포함된 BLOB(Binary Long Object)이 포함된 경우 DBCOLUMNFLAGS_ISLONG 설정합니다. 매우 긴 데이터의 정의는 공급자별로 다릅니다. 이 플래그의 설정은 데이터 형식에 대한 PROVIDER_TYPES 행 집합의 IS_LONG 열 값에 해당합니다.
AllowDBNull DBCOLUMNFLAGS_ISNULLABLE 공급자는 소비자가 열을 null 값으로 설정할 수 있는지 또는 공급자가 소비자가 열을 null 값으로 설정할 수 있는지 여부를 확인할 수 없는 경우 DBCOLUMNFLAGS_ISNULLABLE 설정합니다. 열은 null 값으로 설정할 수 없는 경우에도 null 값을 포함할 수 있습니다.
읽기 전용 여부 DBCOLUMNFLAGS_WRITE true 열을 수정할 수 없는 경우 그렇지 않으면 false. 공급자가 DBCOLUMNFLAGS_WRITE 또는 DBCOLUMNFLAGS_WRITEUNKNOWN 플래그를 설정한 경우 열은 쓰기 가능으로 간주됩니다.
IsRowVersion DBCOLUMNFLAGS_ISROWID 공급자는 열에 쓸 수 없는 영구 행 식별자가 포함되어 있고 행을 ID로 지정하는 것 외에는 의미 있는 값이 없는 경우 DBCOLUMNFLAGS_ISROWID 설정합니다.
IsUnique DBCOLUMN_ISUNIQUE VARIANT_TRUE: BaseTableName에서 반환된 테이블이 이 열에서 동일한 값을 가질 수 있는 기본 테이블의 두 행이 없습니다. 열이 키를 단독으로 나타내거나 이 열에만 적용되는 UNIQUE 형식의 제약 조건이 있는 경우 IsUnique가 VARIANT_TRUE 보장됩니다.

VARIANT_FALSE: 열에는 기본 테이블에 중복 값이 포함될 수 있습니다. 이 열의 기본값은 VARIANT_FALSE.
IsKey DBCOLUMN_KEYCOLUMN VARIANT_TRUE: 열은 행 집합에서 행을 고유하게 식별하는 열 집합 중 하나입니다. IsKey가 VARIANT_TRUE 설정된 열 집합은 행 집합의 행을 고유하게 식별해야 합니다. 이 열 집합이 최소 열 집합이라는 요구 사항은 없습니다. 이 열 집합은 기본 테이블 기본 키, 고유 제약 조건 또는 고유 인덱스에서 생성될 수 있습니다.

VARIANT_FALSE: 열이 행을 고유하게 식별할 필요는 없습니다.
IsAutoIncrement DBCOLUMN_ISAUTOINCREMENT VARIANT_TRUE: 이 열은 고정된 증분 단위로 새 행에 값을 할당합니다.

VARIANT_FALSE: 열은 고정된 증분에서 새 행에 값을 할당하지 않습니다. 이 열의 기본값은 VARIANT_FALSE.
BaseSchemaName DBCOLUMN_BASESCHEMANAME 열이 포함된 데이터 저장소의 스키마 이름입니다. 기본 스키마 이름을 확인할 수 없는 경우 null 값입니다. 이 열의 기본값은 null 값입니다.
BaseCatalogName DBCOLUMN_BASECATALOGNAME 열이 포함된 데이터 저장소의 카탈로그 이름입니다. 기본 카탈로그 이름을 확인할 수 없는 경우 null 값입니다. 이 열의 기본값은 null 값입니다.
BaseTableName DBCOLUMN_BASETABLENAME 열이 포함된 데이터 저장소의 테이블 또는 뷰 이름입니다. 기본 테이블 이름을 확인할 수 없는 경우 null 값입니다. 이 열의 기본값은 null 값입니다.
BaseColumnName DBCOLUMN_BASECOLUMNNAME 데이터 저장소에 있는 열의 이름입니다. 별칭을 사용한 경우 ColumnName 열에 반환된 열 이름과 다를 수 있습니다. 기본 열 이름을 확인할 수 없거나 행 집합 열이 파생되었지만 데이터 저장소의 열과 동일하지 않은 경우 null 값입니다. 이 열의 기본값은 null 값입니다.

메모

메타데이터 열이 올바른 정보를 반환하도록 하려면 매개 변수를 다음으로 behavior 설정하여 KeyInfo호출 ExecuteReader 해야 합니다. 그렇지 않으면 스키마 테이블의 일부 열이 기본값, null 또는 잘못된 데이터를 반환할 수 있습니다.

적용 대상

추가 정보