Share via


Destino OLE DB

O destino OLE DB carrega os dados em uma variedade de bancos de dados compatíveis com OLE DB usando uma tabela ou exibição de banco de dados ou um comando SQL. Por exemplo, a fonte OLE DB pode carregar dados em tabelas no Microsoft Office Access e nos bancos de dados do SQL Server.

ObservaçãoObservação

Se a fonte de dados for o Microsoft Office Excel 2007, ela exigirá um gerenciador de conexões diferente das versões anteriores do Excel. Para obter mais informações, consulte Como se conectar a uma pasta de trabalho do Excel.

O destino OLE DB fornece cinco modos diferentes de acesso para carregar dados:

  • Uma tabela ou exibição. Você pode especificar uma tabela ou exibição existente ou criar uma tabela nova.

  • Uma tabela ou exibição que usa opções de carregamento rápido. Você pode especificar uma tabela existente ou criar uma tabela nova.

  • Uma tabela ou exibição especificada em uma variável.

  • Uma tabela ou exibição especificada em uma variável que usa opções de carregamento rápido.

  • Os resultados de uma instrução SQL.

ObservaçãoObservação

O destino OLE DB não dá suporte a parâmetros. Se você precisar executar uma instrução INSERT parametrizada, considere a transformação Comando OLE DB. Para obter mais informações, consulte Transformação Comando OLE DB.

Quando o destino OLE DB carrega dados que usam o conjunto de caracteres de dois bytes (DBCS), os dados poderão ser corrompidos se o modo de acesso de dados não usar a opção de carregamento rápido e se o gerenciador de conexões OLE DB usar o provedor OLE DB Microsoft para SQL Server (SQLOLEDB). Para garantir a integridade dos dados DBCS, você deve configurar o gerenciador de conexões OLE DB para usar o SQL Server Native Client ou utilizar um dos modos de acesso de carregamento rápido: Tabela ou exibição - carregamento rápido ou Variável de nome da tabela ou exibição - carregamento rápido. As duas opções estão disponíveis na caixa de diálogo Editor de Destino de OLE DB. Ao programar o modelo de objeto SSIS, você deve definir a propriedade AccessMode como OpenRowset Using FastLoad ou OpenRowset Using FastLoad From Variable.

ObservaçãoObservação

Se você usar a caixa de diálogo Editor de Destino de OLE DB no Designer SSIS para criar a tabela de destino em que o destino OLE DB insere dados, você pode ter que selecionar a nova tabela manualmente. A necessidade de selecionar manualmente ocorre quando um provedor OLE DB, como o provedor OLE DB para DB2, adiciona automaticamente identificadores de esquema ao nome da tabela.

ObservaçãoObservação

A instrução CREATE TABLE gerada pela caixa de dialogo Editor de Destino de OLE DB pode requerer modificação dependendo do tipo de destino. Por exemplo, alguns destinos não suportam os tipos de dados que a instrução CREATE TABLE usa.

Esse destino usa um gerenciador de conexões OLE DB para conectar-se a uma fonte de dados e o gerenciador de conexões especifica o provedor OLE DB a ser usado. Para obter mais informações, consulte Gerenciador de conexões OLE DB.

Um projeto do Integration Services também fornece o objeto de fonte de dados do qual você pode criar um gerenciador de conexões OLE DB, disponibilizando as fontes de dados e exibições da fonte de dados para o destino OLE DB. Para obter mais informações, consulte Fonte de dados (SSIS) e Exibição da fonte de dados (SSIS).

Um destino OLE DB inclui mapeamentos entre as colunas de entrada e as colunas da fonte de dados de destino. Você não precisa mapear as colunas de entrada para todas as colunas de destino, mas, dependendo das propriedades das colunas de destino, podem ocorrer erros se nenhuma das colunas de entrada for mapeada para as colunas de destino. Por exemplo, se uma coluna de destino não permitir valores nulos, uma coluna de entrada deve ser mapeada para aquela coluna de destino. Além disso, os tipos de dados de colunas mapeadas devem ser compatíveis. Por exemplo, você não pode mapear uma coluna de entrada que tenha um tipo de dados de cadeia de caracteres para uma coluna com um tipo de dados numérico.

O destino OLE DB tem uma entrada regular e uma saída de erro.

Para obter mais informações sobre tipos de dados, consulte Tipos de dados do Integration Services.

Opções de carregamento rápido

Se o destino OLE DB usa um modo de acesso de carregamento rápido, você pode especificar as seguintes opções na interface de usuário, Editor de Destino de OLE DB, para esse destino:

  • Manter os valores de identidade do arquivo de dados importado ou usar valores exclusivos atribuídos pelo SQL Server.

  • Reter um valor nulo durante a operação de carregamento em massa.

  • Verificar restrições na tabela ou exibição de destino durante a operação de importação em massa.

  • Adquirir um bloqueio no nível de tabela enquanto durar a operação de carregamento em massa.

  • Especificar o número de linhas no lote e o tamanho de confirmação.

Algumas opções de carregamento rápido são armazenadas em propriedades específicas do destino OLE DB. Por exemplo, FastLoadKeepIdentity especifica se os valores de identidade são mantidos ou não, FastLoadKeepNulls especifica se valores nulos são mantidos ou não, e FastLoadMaxInsertCommitSize especifica o número de linhas a serem confirmadas como um lote. Outras opções de carregamento rápido são armazenadas em uma lista separada por vírgulas na propriedade FastLoadOptions. Se o destino OLE DB usa todas as opções de carregamento rápido que estão armazenadas em FastLoadOptions e listadas na caixa de diálogo Editor de Destino de OLE DB, o valor da propriedade é definido como TABLOCK, CHECK_CONSTRAINTS, ROWS_PER_BATCH=1000. O valor 1000 indica que o destino é configurado para usar lotes de 1000 linhas.

ObservaçãoObservação

Qualquer problema de restrição ao destino faz com que lote inteiro de linhas definido por FastLoadMaxInsertCommitSize falhe.

Além das opções de carregamento rápido apresentadas na caixa de diálogo Editor de Destino de OLE DB,você pode configurar o destino OLE DB para usar as seguintes opções de carregamento em massa informando-as na propriedade FastLoadOptions na caixa de diálogo Editor Avançado.

Opção de carregamento rápido

Descrição

KILOBYTES_PER_BATCH

Especifica o tamanho em quilobytes a ser inserido. Esta opção tem o formato KILOBYTES_PER_BATCH = <valor inteiro positivo>.

FIRE_TRIGGERS

Especifica se os gatilhos devem ser disparados na tabela de inserção. A opção tem o formato FIRE_TRIGGERS. A presença da opção indica que os gatilhos irão disparar.

ORDER

Especifica como os dados de entrada são classificados. A opção tem o formato ORDER <nome da coluna> ASC|DESC. Qualquer número de colunas pode ser listado e a inclusão da ordem de classificação é opcional. Se a ordem de classificação for omitida, a operação de inserção assumirá que os dados não estão classificados.

ObservaçãoObservação
O desempenho pode ser otimizado se você usar a opção ORDER para classificar os dados de entrada de acordo com o índice clusterizado da tabela. Para obter mais informações sobre a importância da opção ORDER, consulte Controlando a ordem de classificação durante a importação em massa de dados.

As palavras-chave Transact-SQL são normalmente digitadas em letras maiúsculas, mas não fazem distinção entre maiúsculas e minúsculas.

Para saber mais sobre opções de carregamento rápido, consulte BULK INSERT (Transact-SQL).

Solucionando problemas do destino OLE DB

Você pode registrar as chamadas que o destino OLE DB faz para provedores de dados externos. Você pode usar esse recurso de registro para solucionar problemas ao salvar os dados em fontes de dados externas que o destino OLE DB executa. Para registrar as chamadas que o destino OLE DB faz aos provedores de dados externos, habilite o registro de pacotes e selecione o evento Diagnóstico no nível de pacote. Para obter mais informações, consulte Solucionando problemas de execução do pacote.

Configurando o destino OLE DB

Você pode definir as propriedades no Designer SSIS ou programaticamente.

Para obter mais informações sobre as propriedades que podem ser definidas na caixa de diálogo Editor de Destino de OLE DB clique em um dos seguintes tópicos:

A caixa de diálogo Editor Avançado reflete as propriedades que podem ser definidas programaticamente. Para obter mais informações sobre as propriedades que podem ser definidas na caixa de diálogo Editor Avançado ou programaticamente, clique em um dos seguintes tópicos:

Para obter mais informações sobre como definir propriedades, clique em um dos seguintes tópicos:

Ícone do Integration Services (pequeno) Fique atualizado com o Integration Services

Para obter os mais recentes downloads, artigos, exemplos e vídeos da Microsoft, bem como soluções selecionadas da comunidade, visite a página Integration Services no MSDN ou TechNet:

Para receber uma notificação automática das atualizações, assine os feeds RSS disponíveis na página.