Destino OLE DB

Aplica-se a:SQL Server SSIS Integration Runtime no Azure Data Factory

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ção

Se a fonte de dados for Microsoft Office Excel 2007, ela exigirá um gerenciador de conexões diferente de versões anteriores do Excel. Para obter mais informações, consulte Conectar-se 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ção

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

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 do Microsoft OLE DB 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 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 do SSIS, você deve definir a propriedade AccessMode para OpenRowset usando FastLoad ou OpenRowset usando FastLoad da Variável.

Observação

Se você usar a caixa de diálogo Editor de Destino de OLE DB no SSIS Designer para criar a tabela de destino em que o destino OLE DB insere dados, você poderá 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ção

A instrução CREATE TABLE gerada pela caixa de diálogo 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 OLE DB Connection Manager.

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.

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 Integration Services Data Types.

Opções de carregamento rápido

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

  • Manter valores de identidade do arquivo de dados importado ou usar valores exclusivos atribuídos por 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 em nível de tabela pela duração da 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ção

Qualquer falha de restrição ao destino fará com que todo o lote 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çã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.

As palavras-chave do 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, confira 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 ferramentas para execução de pacotes.

Configurando o destino OLE DB

Você pode definir propriedades pelo Designer do SSIS ou programaticamente.

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:

Editor de Destino OLE DB (página Gerenciador de Conexões)

Use a página Gerenciador de Conexões da caixa de diálogo Editor de Destino de OLE DB para selecionar a conexão OLE DB para o destino. Essa página também permite que você selecione uma tabela ou exibição a partir do banco de dados.

Observação

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

Observação

A propriedade CommandTimeout do destino OLE DB não está disponível no Editor de Destino OLE DB, mas pode ser definida usando o Editor Avançado. Além disso, determinadas opções de carregamento rápido só estarão disponíveis no Editor Avançado. Para obter mais informações sobre estas propriedades, consulte a seção Destino OLE DB em OLE DB Custom Properties.

A propriedade CommandTimeout só terá efeito quando o modo de acesso a dados for comando SQL.

Opções estáticas

Gerenciador de conexões OLE DB
Selecione um gerenciador de conexões existente na lista ou crie uma nova conexão clicando em Nova.

Novo
Crie um novo gerenciador de conexões usando a caixa de diálogo Configurar Gerenciador de Conexões OLE DB .

Modo de acesso aos dados
Especifique o método de carregamento de dados no destino. O carregamento de conjunto de caracteres de bytes duplos (DBCS) requer o uso de uma das opções de carregamento rápido. Para obter mais informações sobre os modos de acesso aos dados de carregamento rápido que são otimizados para inserções em massa, consulte OLE DB Destination.

Opção Descrição
Tabela ou exibição Carregue dados em uma tabela ou exibição no destino OLE DB.
Tabela ou exibição - carregamento rápido Carregue dados em uma tabela ou exibição no destino OLE DB e use a opção de carregamento rápido. Para obter mais informações sobre os modos de acesso aos dados de carregamento rápido que são otimizados para inserções em massa, consulte OLE DB Destination.
Nome da tabela ou variável do nome de exibição Especifique a tabela ou nome de exibição em uma variável.

Informações relacionadas: Usar variáveis em pacotes
Variável do nome da tabela ou do nome de exibição - carregamento rápido Especifique o nome da tabela ou exibição em uma variável e use a opção de carregamento rápido para carregar dados. Para obter mais informações sobre os modos de acesso aos dados de carregamento rápido que são otimizados para inserções em massa, consulte OLE DB Destination.
Comando SQL Carregue dados no destino OLE DB usando uma consulta SQL.

Visualização
Visualize os resultados usando a caixa de diálogo Visualizar Resultados da Consulta . A visualização pode exibir até 200 linhas.

Opções dinâmicas de modo de acesso aos dados

Cada uma das configurações do Modo de acesso aos dados exibe um conjunto de opções dinâmicas específico àquela configuração. As seções a seguir descrevem todas as opções dinâmicas disponíveis de cada configuração de Modo de acesso aos dados .

Modo de acesso aos dados = Tabela ou exibição

Nome da tabela ou da exibição
Selecione o nome da tabela ou da exibição na lista de tabelas ou exibições disponíveis na fonte de dados.

Novo
Crie uma nova tabela usando a caixa de diálogo Criar Tabela .

Observação

Ao clicar em Novo, o Integration Services gera uma instrução CREATE TABLE padrão com base na fonte de dados conectada. A instrução CREATE TABLE padrão não incluirá o atributo FILESTREAM mesmo que a tabela de origem inclua uma coluna com o atributo FILESTREAM declarado. Para executar um componente Integration Services com o atributo FILESTREAM, implemente primeiro o armazenamento FILESTREAM no banco de dados de destino. Em seguida, adicione o atributo FILESTREAM à instrução CREATE TABLE na caixa de diálogo Criar Tabela . Para obter mais informações, confira Dados de blob (objeto binário grande) (SQL Server).

Modo de acesso a dados = tabela ou exibição – carregamento rápido

Nome da tabela ou exibição
Selecione uma tabela ou exibição do banco de dados nessa lista ou crie uma nova tabela clicando em Nova.

Novo
Crie uma nova tabela usando a caixa de diálogo Criar Tabela .

Observação

Ao clicar em Novo, o Integration Services gera uma instrução CREATE TABLE padrão com base na fonte de dados conectada. A instrução CREATE TABLE padrão não incluirá o atributo FILESTREAM mesmo que a tabela de origem inclua uma coluna com o atributo FILESTREAM declarado. Para executar um componente Integration Services com o atributo FILESTREAM, implemente primeiro o armazenamento FILESTREAM no banco de dados de destino. Em seguida, adicione o atributo FILESTREAM à instrução CREATE TABLE na caixa de diálogo Criar Tabela . Para obter mais informações, confira Dados de blob (objeto binário grande) (SQL Server).

Manter identidade
Especifique se os valores de identidade serão copiados quando os dados forem carregados. Essa propriedade só estará disponível com uma das opções de carregamento rápido. O valor padrão dessa propriedade é false.

Manter nulos
Especifique se os valores nulos serão copiados quando os dados forem carregados. Essa propriedade só estará disponível com uma das opções de carregamento rápido. O valor padrão dessa propriedade é false.

Bloqueio de tabela
Especifique se a tabela será bloqueada durante o carregamento. O valor padrão dessa propriedade é true.

Verificar restrições
Especifique se o destino verificará as restrições quando os dados forem carregados. O valor padrão dessa propriedade é true.

Linhas por lote
Especifique o número de linhas em um lote. O valor padrão dessa propriedade é -1, que indica que nenhum valor foi atribuído.

Observação

Limpe a caixa de texto no Editor de Destino de OLE DB para indicar que você não deseja atribuir um valor personalizado para essa propriedade.

Tamanho máximo de confirmação de inserção
Especifique o tamanho do lote que o destino OLE DB tenta confirmar durante as operações de carregamento rápido. O valor 0 indica que todos os dados serão confirmados em um único lote depois que todas as linhas forem processadas.

Observação

O valor 0 pode fazer com que o pacote em execução deixe de responder se o destino OLE DB e outro componente de fluxo de dados estiverem atualizando a mesma tabela de origem. Para impedir que o pacote pare, defina a opção Tamanho máximo de confirmação de inserção como 2147483647.

Se você fornecer um valor para essa propriedade, o destino confirmará as linhas nos lotes que forem menores que (a) o Tamanho máximo de confirmação de inserçãoou (b) as linhas restantes no buffer que estiverem sendo processadas no momento.

Observação

Qualquer falha de restrição ao destino fará com que todo o lote de linhas definido pelo Tamanho máximo de confirmação de inserção falhe.

Modo de acesso aos dados = Variável do nome da tabela ou do nome de exibição

Nome da variável
Selecione a variável que contém o nome da tabela ou da exibição.

Modo de acesso a dados = Variável do nome da tabela ou do nome de exibição – carregamento rápido)

Nome da variável
Selecione a variável que contém o nome da tabela ou da exibição.

Novo
Crie uma nova tabela usando a caixa de diálogo Criar Tabela .

Observação

Ao clicar em Novo, o Integration Services gera uma instrução CREATE TABLE padrão com base na fonte de dados conectada. A instrução CREATE TABLE padrão não incluirá o atributo FILESTREAM mesmo que a tabela de origem inclua uma coluna com o atributo FILESTREAM declarado. Para executar um componente Integration Services com o atributo FILESTREAM, implemente primeiro o armazenamento FILESTREAM no banco de dados de destino. Em seguida, adicione o atributo FILESTREAM à instrução CREATE TABLE na caixa de diálogo Criar Tabela . Para obter mais informações, confira Dados de blob (objeto binário grande) (SQL Server).

Manter identidade
Especifique se os valores de identidade serão copiados quando os dados forem carregados. Essa propriedade só estará disponível com uma das opções de carregamento rápido. O valor padrão dessa propriedade é false.

Manter nulos
Especifique se os valores nulos serão copiados quando os dados forem carregados. Essa propriedade só estará disponível com uma das opções de carregamento rápido. O valor padrão dessa propriedade é false.

Bloqueio de tabela
Especifique se a tabela será bloqueada durante o carregamento. O valor padrão dessa propriedade é false.

Verificar restrições
Especifique se a tarefa verificará as restrições. O valor padrão dessa propriedade é false.

Linhas por lote
Especifique o número de linhas em um lote. O valor padrão dessa propriedade é -1, que indica que nenhum valor foi atribuído.

Observação

Limpe a caixa de texto no Editor de Destino de OLE DB para indicar que você não deseja atribuir um valor personalizado para essa propriedade.

Tamanho máximo de confirmação de inserção
Especifique o tamanho do lote que o destino OLE DB tenta confirmar durante as operações de carregamento rápido. O valor padrão 2147483647 indica que todos os dados serão confirmados em um único lote depois que todas as linhas forem processadas.

Observação

O valor 0 pode fazer com que o pacote em execução deixe de responder se o destino OLE DB e outro componente de fluxo de dados estiverem atualizando a mesma tabela de origem. Para impedir que o pacote pare, defina a opção Tamanho máximo de confirmação de inserção como 2147483647.

Modo de acesso aos dados = Comando SQL

Texto do comando SQL
Digite o texto de uma consulta SQL, crie a consulta clicando em Construir Consultaou localize o arquivo que contém o texto da consulta clicando em Procurar.

Observação

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

Construir consulta
Use a caixa de diálogo Construtor de Consultas para construir a consulta SQL visualmente.

Procurar
Use a caixa de diálogo Abrir para localizar o arquivo com contém o texto da consulta SQL.

Analisar consulta
Verifique a sintaxe do texto da consulta.

Editor de Destino de OLE DB (página Mapeamentos)

Use a página Mapeamentos da caixa de diálogo Editor de Destino de OLE DB para mapear colunas de entrada para colunas de destino.

Opções

Colunas de Entrada Disponíveis
Exiba a lista das colunas de entrada disponíveis. Use uma operação de arrastar e soltar para mapear colunas de entrada disponíveis na tabela para as colunas de destino.

Colunas de Destino Disponíveis
Exiba a lista de colunas de destino disponíveis. Use uma operação de arrastar e soltar para mapear as colunas de destino disponíveis na tabela para as colunas de entrada.

Coluna de Entrada
Exiba as colunas de entrada que você selecionou. Você pode remover os mapeamentos selecionando <ignorar> para excluir as colunas da saída.

Coluna de Destino
Visualize cada coluna de destino disponível, esteja ela mapeada ou não.

Editor de Destino de OLE DB (página Saída de Erro)

Use a página Saída de Erro da caixa de diálogo Editor de Destino OLE DB para especificar opções de tratamento de erros.

Opções

Entrada/Saída
Visualize o nome da entrada.

Coluna
Não usado.

Erro
Especifique o que deve acontecer quando ocorre um erro: ignorar a falha, redirecionar a linha ou causar falha no componente.

Tópicos Relacionados:Tratamento de erros em dados

Truncation
Não usado.

Descrição
Visualize a descrição da operação.

Definir este valor para células selecionadas
Especifique o que deve acontecer a todas as células selecionadas quando ocorre um erro ou um truncamento: ignorar a falha, redirecionar a linha ou causar a falha no componente.

Aplicar
Aplique a opção de tratamento de erros às células selecionadas.

Origem OLE DB

Variáveis do SSIS (Integration Services)

Fluxo de Dados