A opção "Usar consultas SQL" gera uma consulta SQL para o base de dados. Para esta opção, a opção "Registros em um bloco" foi adicionada para recuperar/guardar dados em porções.
Exemplo
Se uma tabela consistir de 550 registros e o tamanho do bloco for 100 registros, a tabela será eventualmente dividida em 6 blocos. Cinco deles conterão 100 registros cada, e o último bloco conterá 50 registros. Cada bloco tem sua própria consulta SQL que é executada como uma transação separada.
O gerenciamento de blocos aumenta a confiabilidade do armazenamento de dados e permite que tabelas grandes sejam armazenadas.
A opção "Usar objetos 'Bulk'" permite salvar a tabela inteira usando a instrução SQL Bulk Insert, que fornece uma alta taxa de gravação para o banco de dados.
A propriedade para o timeout da operação (T) limita o timeout da execução da operação (em segundos).
Se a operação não for executada dentro do tempo especificado, é emitido um erro.
Limitações da opção
A operação a granel requer que os tipos de dados da tabela de dados e a tabela de destino correspondam exatamente.
A estrutura da tabela de dados não pode ser alterada, portanto é importante observar os tipos de coluna da tabela de dados de entrada antes de preenchê-la.
Outra limitação é a lista limitada de fornecedores que suportam o Bulk Insert:
- para MS SQL Server – System.Data.SQLClient,
- para Oracle - Oracle.ManagedDataAccess.Client.
No caso do provedor SQLConnection e System.Data.SQLClient é aceitável usar outro RDBMS (por exemplo, MySQL).