OleDbDataReader.GetSchemaTable 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
DataTable의 열 메타데이터를 정의하는 OleDbDataReader을 반환합니다.
public:
override System::Data::DataTable ^ GetSchemaTable();
public:
virtual System::Data::DataTable ^ GetSchemaTable();
public override System.Data.DataTable? GetSchemaTable ();
public System.Data.DataTable GetSchemaTable ();
public override System.Data.DataTable GetSchemaTable ();
override this.GetSchemaTable : unit -> System.Data.DataTable
abstract member GetSchemaTable : unit -> System.Data.DataTable
override this.GetSchemaTable : unit -> System.Data.DataTable
Public Overrides Function GetSchemaTable () As DataTable
Public Function GetSchemaTable () As DataTable
반환
열 메타데이터를 정의하는 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 값입니다. |
DataType | None | 열의 .NET Framework 형식에 매핑됩니다. |
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 값을 포함할 수 있습니다. |
IsReadOnly | 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 값입니다. |
참고
메타데이터 열이 올바른 정보를 반환하도록 하려면 매개 변수를 로 설정KeyInfo
하여 behavior
를 호출 ExecuteReader 해야 합니다. 그렇지 않으면 스키마 테이블의 일부 열이 기본값, null 또는 잘못된 데이터를 반환할 수 있습니다.
적용 대상
추가 정보
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET