다음을 통해 공유


IRowsetFastLoad::Commit(Native Client OLE DB Provider)

적용 대상: SQL Server Azure SQL 데이터베이스 Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW)

Important

SQL Server Native Client(약칭 SNAC)는 SQL Server 2022(16.x) 및 SSMS(SQL Server Management Studio) 19에서 제거되었습니다. SQL Server Native Client OLE DB 공급자(SQLNCLI 또는 SQLNCLI11)와 레거시 Microsoft OLE DB Provider for SQL Server(SQLOLEDB)는 모두 새로운 개발에 권장되지 않습니다. 앞으로 SQL Server용 새 Microsoft OLE DB 드라이버(MSOLEDBSQL)로 전환합니다.

삽입된 행 일괄 처리의 끝을 표시하고 SQL Server 테이블에 행을 씁니다. 샘플은 IRowsetFastLoad를 사용한 데이터 대량 복사(OLE DB)IROWSETFASTLOAD 및 ISEQUENTIALSTREAM을 사용하여 SQL SERVER로 BLOB 데이터 전송(OLE DB)을 참조하세요.

구문

  
HRESULT Commit(  
      BOOL fDone);  

인수

fDone[in]
FALSE인 경우 행 집합은 유효성을 유지하며 소비자가 추가 행 삽입에 사용할 수 있습니다. TRUE이면 행 집합이 유효하지 않으며 소비자가 더 이상 삽입할 수 없습니다.

반환 코드 값

S_OK
메서드가 성공했고 삽입된 모든 데이터가 SQL Server 테이블에 기록되었습니다.

E_FAIL
공급자별 오류가 발생했습니다. 오류 정보에서 공급자 관련 오류 텍스트를 검색하십시오.

E_UNEXPECTED
이 메서드는 이전에 IRowsetFastLoad::Commit 메서드에 의해 무효화된 대량 복사 행 집합에서 호출되었습니다.

설명

SQL Server Native Client OLE DB 공급자 대량 복사 행 집합은 지연 업데이트 모드 행 집합으로 작동합니다. 사용자가 행 집합을 통해 행 데이터를 삽입할 때 삽입된 행은 IRowsetUpdate를 지원하는 행 집합의 보류 중인 삽입과 동일한 방식으로 처리됩니다.

소비자는 IRowsetUpdate::Update 메서드를 사용하여 보류 중인 행을 SQL Server 인스턴스에 제출하는 것과 같은 방식으로 삽입된 행을 SQL Server 테이블에 쓰려면 대량 복사 행 집합의 Commit 메서드를 호출해야 합니다.

소비자가 Commit 메서드를 호출하지 않고 대량 복사 행 집합에 대한 참조를 해제하면 기존에 쓰지 않은 삽입된 행이 모두 손실됩니다.

소비자는 fDone 인수가 FALSE로 설정된 Commit 메서드를 호출하여 삽입된 행을 일괄 처리할 수 있습니다. fDone을 TRUE로 설정하면 행 집합이 무효화됩니다. 잘못된 대량 복사 행 집합은 ISupportErrorInfo 인터페이스 및 IRowsetFastLoad::Release 메서드만 지원합니다.

참고 항목

IRowsetFastLoad(OLE DB)