IRowsetFastLoad::InsertRow(Native Client OLE DB Provider)

적용 대상:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics AnalyticsPlatform 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)로 전환합니다.

대량 복사 행 집합에 행을 추가합니다. 샘플은 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
SQLNCLI11에서 요청을 완료하기에 충분한 메모리를 할당할 수 없습니다.

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

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

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

설명

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

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

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

참고 항목

IRowsetFastLoad(OLE DB)