다음을 통해 공유


분산 쿼리에서 사용하는 OLE DB 개체

다음 표에서는 Transact-SQL 분산 쿼리에서 사용하는 OLE DB 개체 및 인터페이스를 보여 줍니다. 어떤 OLE DB 공급자라도 최소한의 개체 및 인터페이스 집합을 지원해야 Transact-SQL 분산 쿼리에서 사용할 수 있습니다. 이러한 개체 및 인터페이스는 아래 표의 필수 열에 로 표시되어 있습니다. 필수 열에 아니요로 표시된 개체 및 인터페이스는 고급 분산 쿼리 기능 지원을 위해서만 필요합니다. 공급자가 인터페이스를 지원하지 않으면 관련된 Transact-SQL 기능이 지원되지 않습니다. 예를 들어 IRowsetLocateIRowsetChange 인터페이스가 지원되지 않으면 원격 테이블에서 UPDATE 또는 DELETE 문이 실행되지 않습니다.

개체

인터페이스

필수

설명

Data Source

IDBInitialize

데이터 및 보안 컨텍스트를 초기화 및 설정합니다.

 

IDBCreateSession

DB Session 개체를 만듭니다.

 

IDBProperties

공급자의 기능에 대한 정보를 가져 오고 초기화 속성을 설정합니다.

 

IDBInfo

아니요

공급자가 지원하는 SQL 구문에 대한 정보를 가져 옵니다.

DB Session

IDBSchemaRowset

아니요

테이블 및 열 메타데이터를 가져옵니다. 필요한 행 집합은 TABLES와 COLUMNS입니다. 사용 가능한 경우, TABLES_INFO, CATALOGS, INDEXES, STATISTICS, TABLE_STATISTICS, VIEWS, PRIMARY_KEYS, TABLE_PRIVILEGES, COLUMN_PRIVILEGES 행 집합이 사용됩니다.

 

IOpenRowset

테이블, 인덱스 또는 히스토그램의 행 집합을 엽니다.

 

IGetDataSource

DB 세션 개체의 데이터 원본 개체를 반환합니다.

 

IDBCreateCommand

아니요

Command 개체(쿼리)를 만듭니다.

 

ITransactionLocal

아니요

공급자에서 트랜잭션을 시작합니다.

 

ITransactionJoin

아니요

분산 트랜잭션 지원을 위해 사용합니다. 이 인터페이스가 지원되지 않으면, 사용자 트랜잭션에서 원격 공급자에 대한 업데이트가 허용되지 않습니다.

Rowset(테이블)

IRowset

행을 검색합니다.

 

IAccessor

행 집합의 열에 바인딩합니다.

 

IColumnsInfo

행 집합의 열에 대한 정보를 가져옵니다.

 

IRowsetInfo

행 집합 속성에 대한 정보를 가져옵니다.

 

IRowsetLocate

아니요

UPDATE 또는 DELETE 작업 및 인덱스 기반 조회에 필요합니다.

 

IRowsetChange

아니요

테이블의 INSERT, UPDATE, DELETE 작업에 필요합니다. 기본 테이블에 대한 행 집합은 INSERT, UPDATE, DELETE 문을 지원하기 위해 이 인터페이스를 지원해야 합니다.

 

IConvertType

행 집합이 해당 열에서 특정 데이터 형식 변환을 지원하는지 확인합니다.

Rowset(인덱스)

IRowset

행을 검색합니다.

 

IAccessor

행 집합의 열에 바인딩합니다.

 

IColumnsInfo

행 집합의 열에 대한 정보를 가져옵니다.

 

IRowsetInfo

행 집합 속성에 대한 정보를 가져옵니다.

 

IRowsetIndex

인덱스의 행 집합에 필요합니다. 인덱싱 기능(범위 설정, 검색)에 사용됩니다.

 

IConvertType

행 집합이 해당 열에서 특정 데이터 형식 변환을 지원하는지 확인합니다.

Command(옵션)

ICommand

쿼리를 실행하는 데 사용합니다.

 

ICommandText

쿼리 텍스트 정의에 사용합니다.

 

ICommandProperties

명령이 반환한 행 집합에 필요한 속성을 지정합니다.

 

ICommandWithParameters

아니요

매개 변수가 있는 쿼리 실행에 사용합니다.

 

ICommandPrepare

아니요

메타데이터를 가져오기 위한 명령을 준비하는 데 사용합니다.

Error(옵션)

IErrorRecords

오류 레코드에 대한 IErrorInfo 인터페이스에 포인터를 가져 옵니다.

 

IErrorInfo

오류 레코드의 텍스트 설명을 가져 옵니다.

모든 개체(옵션)

ISupportErrorInfo

아니요

지정된 인터페이스에서의 오류 개체 지원 여부를 결정합니다.