DataAdapter.FillSchema 메서드

정의

지정된 DataTableDataSet을 추가합니다.

오버로드

FillSchema(DataSet, SchemaType, String, IDataReader)

지정된 DataTableDataSet을 추가합니다.

FillSchema(DataSet, SchemaType)

지정된 DataTableDataSet 을 추가하고 지정된 SchemaType에 따라 데이터 원본의 스키마와 일치하도록 스키마를 구성합니다.

FillSchema(DataTable, SchemaType, IDataReader)

지정된 DataTableDataSet을 추가합니다.

FillSchema(DataSet, SchemaType, String, IDataReader)

지정된 DataTableDataSet을 추가합니다.

protected:
 virtual cli::array <System::Data::DataTable ^> ^ FillSchema(System::Data::DataSet ^ dataSet, System::Data::SchemaType schemaType, System::String ^ srcTable, System::Data::IDataReader ^ dataReader);
protected virtual System.Data.DataTable[] FillSchema (System.Data.DataSet dataSet, System.Data.SchemaType schemaType, string srcTable, System.Data.IDataReader dataReader);
abstract member FillSchema : System.Data.DataSet * System.Data.SchemaType * string * System.Data.IDataReader -> System.Data.DataTable[]
override this.FillSchema : System.Data.DataSet * System.Data.SchemaType * string * System.Data.IDataReader -> System.Data.DataTable[]
Protected Overridable Function FillSchema (dataSet As DataSet, schemaType As SchemaType, srcTable As String, dataReader As IDataReader) As DataTable()

매개 변수

dataSet
DataSet

DataTable에서 채울 IDataReader입니다.

schemaType
SchemaType

SchemaType 값 중 하나입니다.

srcTable
String

테이블 매핑에 사용할 원본 테이블의 이름입니다.

dataReader
IDataReader

IDataReader을 채울 때 데이터 소스로 사용할 DataTable입니다.

반환

DataTable 에 추가된 DataSet개체의 컬렉션에 대한 참조입니다.

추가 정보

적용 대상

FillSchema(DataSet, SchemaType)

지정된 DataTableDataSet 을 추가하고 지정된 SchemaType에 따라 데이터 원본의 스키마와 일치하도록 스키마를 구성합니다.

public:
 virtual cli::array <System::Data::DataTable ^> ^ FillSchema(System::Data::DataSet ^ dataSet, System::Data::SchemaType schemaType);
public:
 abstract cli::array <System::Data::DataTable ^> ^ FillSchema(System::Data::DataSet ^ dataSet, System::Data::SchemaType schemaType);
public virtual System.Data.DataTable[] FillSchema (System.Data.DataSet dataSet, System.Data.SchemaType schemaType);
public abstract System.Data.DataTable[] FillSchema (System.Data.DataSet dataSet, System.Data.SchemaType schemaType);
abstract member FillSchema : System.Data.DataSet * System.Data.SchemaType -> System.Data.DataTable[]
override this.FillSchema : System.Data.DataSet * System.Data.SchemaType -> System.Data.DataTable[]
abstract member FillSchema : System.Data.DataSet * System.Data.SchemaType -> System.Data.DataTable[]
Public Overridable Function FillSchema (dataSet As DataSet, schemaType As SchemaType) As DataTable()
Public MustOverride Function FillSchema (dataSet As DataSet, schemaType As SchemaType) As DataTable()

매개 변수

dataSet
DataSet

데이터 원본의 스키마로 채울 DataSet입니다.

schemaType
SchemaType

SchemaType 값 중 하나입니다.

반환

데이터 소스에서 반환된 스키마 정보가 들어 있는 DataTable 개체입니다.

구현

설명

합니다 FillSchema 사용 하 여 데이터 원본에서 스키마를 검색 하는 메서드는 SelectCommand합니다. 와 연결 된 연결 개체는 SelectCommand 유효 해야 하지만 열려 있이 필요는 없습니다. 가 호출되기 전에 FillSchema 연결이 닫혀 있으면 데이터를 검색하기 위해 연 다음 닫힙니다. 연결 하기 전에 열려 있으면 FillSchema 는 호출을 열린 상태로 유지 합니다.

A FillSchema 작업 추가 DataTable 대상 DataSet합니다. 그런 다음 의 DataTable에 열을 DataColumnCollection 추가하고 데이터 원본에 있는 경우 다음 DataColumn 속성을 구성합니다.

FillSchema 또한 구성 합니다 PrimaryKeyConstraints 다음 규칙에 따라 속성:

  • 하나 이상의 기본 키 열에서 반환 되는 경우는 SelectCommand에 대 한 기본 키 열으로 사용할는 DataTable합니다.

  • 기본 키 열이 반환되지 않지만 고유한 열이 있는 경우 모든 고유 열이 null을 허용하지 않는 경우에만 고유 열이 기본 키로 사용됩니다. 열이 null을 허용 하는 경우는 UniqueConstraint 에 추가 됩니다는 ConstraintCollection, 하지만 PrimaryKey 속성이 설정 되지 않은 합니다.

  • 기본 키 열에 대 한 기본 키 열으로 사용 된 기본 키 열 및 고유 열을 모두 반환 되는 경우는 DataTable합니다.

참고

기본 데이터 저장소는 에서 DataColumn지원되지 않는 열 특성을 허용하여 일부 열 특성이 올바르게 변환되지 않도록 할 수 있습니다. 예를 들어 SQL Server 데이터 형식이 tinyint인 ID 열을 허용하는 반면 DataColumn 에서는 Int16, Int32 및 Int64만 속성을 설정할 수 AutoIncrement 있습니다. FillSchema 가 데이터 원본을 DataColumn 정확하게 미러링할 수 없고 예외를 throw하지 않는 경우를 자동으로 무시합니다.

기본 키와 고유 제약 조건은 이전 규칙에 따라 에 추가 ConstraintCollection 되지만 다른 제약 조건 형식은 추가되지 않습니다.

고유한 클러스터형 SQL Server 테이블에서 열 또는 열에 인덱스가 정의 되 고 클러스터형된 인덱스의 열 이름을 반환 됩니다 primary key 제약 별도 열 집합에 정의 됩니다. 기본 키 열의 이름을 반환할 기본 키 인덱스의 이름을 지정 하는 SELECT 문을 사용 하 여 쿼리 힌트를 사용 합니다. 쿼리 힌트를 지정하는 방법에 대한 자세한 내용은 힌트(Transact-SQL) - 쿼리를 참조하세요.

에서 DataAdapter 를 채우는 DataTable동안 중복 열이 발견되면 "columnname1", "columnname 2", "columnname3" 등의 패턴을 사용하여 후속 의 이름을 생성합니다. 들어오는 데이터에 명명되지 않은 열이 포함된 경우 "Column1", "Column2" 패턴 등에 따라 에 배치 DataSet 됩니다. 여러 결과 집합이 추가 DataSet 되면 각 결과 집합이 별도의 테이블에 배치됩니다. 추가 결과 집합이 지정한 테이블 이름 (예: "Table", "Table1", "Table2" 및 등)에 정수 값을 추가 하 여 이름이 지정 됩니다. 열 및 테이블 이름을 사용 하 여 애플리케이션은 이러한 명명 패턴을 사용 하 여 충돌 하지 않도록 확인 해야 합니다.

FillSchema 는 행을 반환하지 않습니다. 사용 된 Fill 에 행을 추가 하는 방법을 DataTable입니다.

참고

여러 결과를 반환하는 일괄 처리 SQL 문을 처리할 때 .NET Framework Data Provider for OLE DB에 대한 구현 FillSchema 은 첫 번째 결과에 대해서만 스키마 정보를 검색합니다. 여러 결과에 대한 스키마 정보를 검색하려면 를 로 설정된 AddWithKey와 함께 MissingSchemaAction 사용합니다Fill.

추가 정보

적용 대상

FillSchema(DataTable, SchemaType, IDataReader)

지정된 DataTableDataSet을 추가합니다.

protected:
 virtual System::Data::DataTable ^ FillSchema(System::Data::DataTable ^ dataTable, System::Data::SchemaType schemaType, System::Data::IDataReader ^ dataReader);
protected virtual System.Data.DataTable? FillSchema (System.Data.DataTable dataTable, System.Data.SchemaType schemaType, System.Data.IDataReader dataReader);
protected virtual System.Data.DataTable FillSchema (System.Data.DataTable dataTable, System.Data.SchemaType schemaType, System.Data.IDataReader dataReader);
abstract member FillSchema : System.Data.DataTable * System.Data.SchemaType * System.Data.IDataReader -> System.Data.DataTable
override this.FillSchema : System.Data.DataTable * System.Data.SchemaType * System.Data.IDataReader -> System.Data.DataTable
Protected Overridable Function FillSchema (dataTable As DataTable, schemaType As SchemaType, dataReader As IDataReader) As DataTable

매개 변수

dataTable
DataTable

DataTable에서 채울 IDataReader입니다.

schemaType
SchemaType

SchemaType 값 중 하나입니다.

dataReader
IDataReader

IDataReader을 채울 때 데이터 소스로 사용할 DataTable입니다.

반환

데이터 소스에서 반환된 스키마 정보가 들어 있는 DataTable 개체입니다.

추가 정보

적용 대상