IRowsetFastLoad::Commit (Provedor OLE DB do cliente nativo)
Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Azure Synapse Analytics Analytics Platform System (PDW)
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 do SQL Server Native Client se comporta como um conjunto de linhas do 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.