IRowsetFastLoad::Commit (provedor OLE DB de cliente nativo)

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsPDW (Analytics Platform System)

Importante

O SQL Server Native Client (geralmente abreviado como SNAC) foi removido do SQL Server 2022 (16.x) e do SSMS (SQL Server Management Studio) 19. O provedor OLE DB do SQL Server Native Client (SQLNCLI ou SQLNCLI11) e o Provedor OLE DB herdado da Microsoft para o SQL Server (SQLOLEDB) não são recomendados para um novo desenvolvimento. Alterne para o novo Driver do Microsoft OLE DB para SQL Server (MSOLEDBSQL) no futuro.

Marca o término de um lote de linhas inseridas e escreve as linhas na tabela SQL Server . Para obter exemplos, confira Copiar Dados em massa usando IRowsetFastLoad (OLE DB) e Enviar dados de blob para o SQL Server usando IROWSETFASTLOAD e ISEQUENTIALSTREAM (OLE DB).

Sintaxe

  
HRESULT Commit(  
      BOOL fDone);  

Argumentos

fDone[in]
Se FALSE, o conjunto de linhas manterá validade e poderá ser usado pelo consumidor para inserção de linha adicional. Caso seja TRUE, o conjunto de linhas perde validade e nenhuma inserção adicional pode ser feita pelo consumidor.

Valores do código de retorno

S_OK
O método teve êxito e todos os dados inseridos foram escritos na tabela SQL Server.

E_FAIL
Ocorreu um erro específico de provedor. Recupere informações de erro para o texto de erro específico do provedor.

E_UNEXPECTED
O método foi chamado em um conjunto de linhas de cópia em massa invalidado anteriormente pelo método IRowsetFastLoad::Commit.

Comentários

Um conjunto de linhas de cópia em massa do provedor OLE DB SQL Server Native Client se comporta como um conjunto de linhas de modo de atualização atrasada. Conforme o usuário insere dados de linha pelo conjunto de linhas, as linhas inseridas são tratadas da mesma forma que as inserções pendentes em um conjunto de linhas que dá suporte a IRowsetUpdate.

O consumidor deve chamar o método Commit no conjunto de linhas de cópia em massa para gravar as linhas inseridas na tabela SQL Server da mesma forma que o método IRowsetUpdate::Update é usado para enviar linhas pendentes para uma instância do SQL Server.

Caso o consumidor libere a referência no conjunto de linhas de cópia em massa sem chamar o método Commit, todas as linhas inseridas não gravadas previamente serão perdidas.

O consumidor pode processar em lotes as linhas inseridas chamando o método Commit com o argumento fDone definido como FALSE. Quando fDone é definido como TRUE, o conjunto de linhas se torna inválido. Um conjunto de linhas de cópia em massa inválido dá suporte apenas à interface ISupportErrorInfo e ao método IRowsetFastLoad::Release.

Consulte Também

IRowsetFastLoad (OLE DB)