IRowsetFastLoad::InsertRow (OLE DB)
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)
Adiciona uma linha ao conjunto de linhas de cópia em massa. 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 InsertRow(
HACCESSOR hAccessor,
void* pData);
Argumentos
hAccessor[in]
O identificador do acessador que define os dados de linha para cópia em massa. O acessador referenciado é um acessador de linha, que associa a memória de propriedade do consumidor contendo valores de dados.
pData[in]
Um ponteiro para a memória de propriedade do consumidor que contém valores de dados. Para obter mais informações, consulte Estruturas DBBINDING.
Valores do código de retorno
S_OK
O método foi bem-sucedido. Todos os valores de status associados para todas as colunas têm o valor DBSTATUS_S_OK ou DBSTATUS_S_NULL.
E_FAIL
Ocorreu um erro. As informações do erro estão disponíveis nas interfaces de erro do conjunto de linhas.
E_INVALIDARG
O argumento pData foi definido como um ponteiro NULL.
E_OUTOFMEMORY
MSOLEDBSQL não pôde alocar memória suficiente para concluir a solicitação.
E_UNEXPECTED
O método foi chamado em um conjunto de linhas de cópia em massa invalidado anteriormente pelo método IRowsetFastLoad::Commit.
DB_E_BADACCESSORHANDLE
O argumento hAccessor fornecido pelo consumidor era inválido.
DB_E_BADACCESSORTYPE
O acessador especificado não era um acessador de linha ou não especificou a memória de propriedade do consumidor.
Comentários
Um erro ao converter dados do consumidor no tipo de dados do SQL Server para uma coluna gera um retorno E_FAIL do OLE DB Driver for SQL Server. Os dados podem ser transmitidos para o SQL Server em qualquer método InsertRow ou apenas no método Commit. O aplicativo do consumidor pode chamar o método InsertRow muitas vezes com dados incorretos antes ser avisado de que há um erro de conversão de tipo de dados. Como o método Commit assegura que todos os dados sejam especificados corretamente pelo consumidor, ele pode usar o método Commit apropriadamente para validar os dados, conforme necessário.
Os conjuntos de linhas de cópia em massa do Driver do OLE DB para SQL Server são somente gravação. O Driver do OLE DB para SQL Server não expõe nenhum método que permite consultas do consumidor do conjunto de linhas. Para encerrar o processamento, o consumidor pode liberar sua referência na interface IRowsetFastLoad sem chamar o método Commit. Não há nenhum recurso para acessar uma linha inserida pelo consumidor no conjunto de linhas e alterar seus valores ou para removê-la individualmente do conjunto de linhas.
As linhas copiadas em massa são formatadas no servidor para o SQL Server. O formato de linha é afetado por todas as opções que possam ter sido definidas para a conexão ou sessão, como ANSI_PADDING. Essa opção é ativada por padrão para qualquer conexão feita por meio do Driver do OLE DB para SQL Server.