다음을 통해 공유


IRowsetFastLoad::InsertRow(OLE DB)

적용 대상: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

OLE DB 드라이버 다운로드

대량 복사 행 집합에 행을 추가합니다. 샘플은 IRowsetFastLoad를 사용한 데이터 대량 복사(OLE DB)IROWSETFASTLOAD 및 ISEQUENTIALSTREAM을 사용하여 SQL SERVER로 BLOB 데이터 전송(OLE DB)을 참조하세요.

구문

  
HRESULT InsertRow(  
      HACCESSOR hAccessor,  
      void* pData);  

인수

hAccessor[in]
대량 복사를 위한 행 데이터를 정의하는 접근자의 핸들입니다. 참조되는 접근자가 데이터 값을 포함하는 소비자 소유 메모리를 바인딩하는 행 접근자입니다.

pData[in]
데이터 값을 포함하는 소비자 소유 메모리에 대한 포인터입니다. 자세한 내용은 DBBINDING 구조를 참조 하세요.

반환 코드 값

S_OK
메서드가 성공했습니다. 모든 열에 대한 바인딩된 상태 값에는 DBSTATUS_S_OK 또는 DBSTATUS_S_NULL 값이 있습니다.

E_FAIL
오류가 발생했습니다. 오류 정보는 행 집합의 오류 인터페이스에서 사용할 수 있습니다.

E_INVALIDARG
pData 인수가 NULL 포인터로 설정되었습니다.

E_OUTOFMEMORY
MSOLEDBSQL에서 요청을 완료하기에 충분한 메모리를 할당할 수 없었습니다.

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

DB_E_BADACCESSORHANDLE
소비자가 제공한 hAccessor 인수가 잘못되었습니다.

DB_E_BADACCESSORTYPE
지정된 접근자가 행 접근자가 아니거나 소비자 소유 메모리를 지정하지 않았습니다.

설명

소비자 데이터를 열의 SQL Server 데이터 형식으로 변환하는 동안 오류가 발생하면 OLE DB Driver for SQL Server에서 E_FAIL 반환됩니다. 모든 InsertRow 메서드 또는 Commit 메서드에서만 데이터를 SQL Server로 전송할 수 있습니다. 소비자 애플리케이션은 잘못된 데이터로 InsertRow 메서드를 여러 번 호출할 수 있으며 데이터 형식 변환 오류가 있다는 알림을 받습니다. Commit 메서드는 모든 데이터가 소비자가 올바르게 지정하도록 하기 때문에 소비자는 Commit 메서드를 적절하게 사용하여 필요에 따라 데이터의 유효성을 검사할 수 있습니다.

OLE DB Driver for SQL Server 대량 복사 행 집합은 쓰기 전용입니다. OLE DB Driver for SQL Server는 소비자의 행 집합 쿼리를 허용하는 메서드를 노출하지 않습니다. 처리를 종료하기 위해 소비자는 Commit 메서드를 호출하지 않고 IRowsetFastLoad 인터페이스에서 해당 참조를 해제할 수 있습니다. 행 집합에서 소비자가 삽입한 행에 액세스하고 해당 값을 변경하거나 행 집합에서 개별적으로 제거할 수 있는 기능이 없습니다.

대량 복사된 행은 SQL Server용 서버에서 형식이 지정됩니다. 행 형식은 ANSI_PADDING 같은 연결 또는 세션에 대해 설정되었을 수 있는 옵션의 영향을 받습니다. 이 옵션은 OLE DB Driver for SQL Server를 통해 수행되는 모든 연결에 대해 기본적으로 설정됩니다.

참고 항목

IRowsetFastLoad(OLE DB)