Escolar Documentos
Profissional Documentos
Cultura Documentos
AdventureWorks2008_SR4.exe
Microsoft Integration Services é uma plataforma para criar soluções de integração de dados de
alto desempenho, incluindo pacotes de extração, transformação e carregamento (ETL) para o
armazenamento de dados. O Integration Services inclui ferramentas gráficas e assistentes para
criação e depuração de pacotes; tarefas para execução de funções de fluxo de trabalho, como
operações de FTP, execução de instruções SQL, envio de mensagens de email, fontes de dados e
destinos para a extração e o carregamento de dados, transformações para limpeza, agregação,
intercalação e cópia de dados, além dos serviços de administração, Integration Services para
administrar a execução e o armazenamento de pacote, bem como interfaces de programação de
aplicativos (APIs) para a programação do modelo de objeto Integration Services.
Neste tutorial, você aprenderá a usar o SSIS Designer para criar um pacote simples do Microsoft
SQL Server Integration Services. O pacote que você cria conduz dados de um arquivo simples,
formata esses dados e insere os dados formatados em uma tabela de fatos. Nas lições a seguir, o
pacote será expandido para demonstrar looping, configurações de pacote, registro de log e fluxo
de erros.
Ao instalar os dados de exemplo usados pelo tutorial, as versões concluídas dos pacotes criados
para cada lição do tutorial também são instaladas. Ao utilizar os pacotes concluídos, será possível
começar o tutorial em uma lição posterior, caso queira. Se esta for a primeira vez que você
trabalha com pacotes ou com o novo ambiente de desenvolvimento, recomendamos que você
comece pela lição 1.
Requisitos
O tutorial é destinado a usuários familiarizados com operações básicas de banco de dados, mas
que tiveram pouca experiência com os novos recursos disponíveis no SQL Server Integration
Services.
Para que você possa usar este tutorial, os seguintes componentes devem estar instalados no
sistema:
• SQL Server com o banco de dados AdventureWorksDW. Por padrão, para reforçar a
segurança, os bancos de dados de exemplo não são instalados. Para instalar os bancos de
dados de exemplo, consulte Considerações para instalar exemplos e bancos de dados de
exemplo do SQL Server.
• Este tutorial também requer dados de exemplo. Os dados de exemplo são instalados junto
com as amostras. Se você não encontrá-los, retorne ao procedimento anterior e complete
a instalação, conforme instruções.
Observação:
Este tutorial assume que você não reconfigurou o Designer de SSIS para usar os recursos de
conexão automática entre os elementos de fluxo de controle ou de fluxo de dados. Caso o
Designer de SSIS use a conexão automática, um elemento poderá ser conectado automaticamente
quando adicionado à superfície de design. Além disso, o recurso de conexão automática para o
fluxo de controle oferece suporte ao uso de Falha e Conclusão como restrição padrão, em vez
deÊxito. Caso o Designer de SSIS não use a opção Êxito como restrição padrão, defina
novamente essa configuração durante o uso do tutorial. Configure os recursos de conexão
automática na seção Designers do Business Intelligence na caixa de diálogo Opções que está
disponível em Opções no menuFerramenta.
Lições neste tutorial
Nesta lição, você criará um pacote de ETL simples que extrairá dados de um arquivo
simples, transformará os dados usando transformações de pesquisa e, por fim, carregará
o resultado em um destino da tabela de fatos.
Nesta lição, você expandirá o pacote criado na lição 1 para obter as vantagens dos novos
recursos de looping a fim de extrair vários arquivos simples em apenas um processo de
fluxo de dados.
Nesta lição, você expandirá o pacote criado na lição 2 para usar as novas opções de
configuração de pacote.
Nesta lição, você expandirá o pacote criado na lição 3 para usar as novas opções de
registro de logs.
Nesta lição, você expandirá o pacote criado na lição 4 para usar as novas opções de
configuração das saídas de erro.
Importante:
Este tutorial requer o banco de dados de exemplo AdventureWorksDW. Para obter mais informações sobre
como instalar e implementar oAdventureWorksDW, consulte Considerações para instalar exemplos e bancos
de dados de exemplo do SQL Server.
Compreendendo os requisitos de pacote
Antes de criar um pacote, você precisa ter um bom conhecimento da formatação usada tanto na
fonte de dados quanto no destino. Depois de entender estes dois formatos de dados, você estará
pronto para definir as transformações necessárias para mapear a fonte de dados ao destino.
Quando estiver trabalhando com dados de fonte de arquivo simples, é importante entender como
o gerenciador de conexões de Arquivo Simples interpreta os dados de arquivo simples. Se a fonte
do arquivo simples for Unicode, o gerenciador de conexões de Arquivo Simples definirá todas as
colunas como [DT_WSTR] com uma largura padrão de coluna de 50. Se a fonte de arquivo simples
for codificada por ANSI, as colunas estarão definidas como [DT_STR] com uma largura de coluna
de 50. Você provavelmente terá que alterar esses padrões para tornar os tipos de coluna de
cadeia de caracteres mais apropriados para seus dados. Para fazer isso, você precisará olhar o
tipo de dados do destino onde os dados serão gravados, e, então, escolher o tipo correto dentro
do gerenciador de conexões de Arquivo Simples.
Olhando o destino
O destino final para a fonte de dados é a tabela de
fatos FactCurrencyRate no AdventureWorksDW. A tabela de fatos FactCurrencyRate tem
quatro colunas, e tem relações com duas tabelas dimensionais, como mostrado na tabela a seguir.
Tarefas da lição
Esta lição contém as seguintes tarefas:
Os pacotes que serão criados neste tutorial do Integration Services interpretam os valores de
dados com distinção de localidade. Se o seu computador não estiver configurado para usar a
opção regional Inglês (Estados Unidos), será preciso definir propriedades adicionais no pacote. Os
pacotes usados nas lições 2 a 5 serão copiados a partir do pacote criado na lição 1 e não será
preciso atualizar as propriedades que fazem distinção de localidade nos pacotes copiados.
2. No menu Arquivo, aponte para Novo e clique em Projeto para criar um novo projeto
Integration Services.
4. Na caixa Nome, altere o nome padrão para Tutorial SSIS. Opcionalmente, desmarque a
caixa de seleção Criar diretório para a solução.
5. Aceite o local padrão ou clique em Procurar para procurar pela pasta que deseja usar.
7. Clique em OK.
Por padrão, um pacote vazio chamado Package.dtsx será criado e adicionado ao seu
projeto.
Você deve criar um novo gerenciador de conexões de Arquivos Simples para cada formato de
arquivo com os quais você trabalha. Como este tutorial extrai dados de vários arquivos simples
que apresentam exatamente o mesmo formato de dados, será preciso adicionar e configurar
apenas um gerenciador de conexões de Arquivos Simples para seu pacote.
3. Clique em Procurar.
2. Defina a Localidade como o inglês (Estados Unidos) e a Página de códigos como 1252.
Observação:
Por padrão, as quatro colunas são definidas inicialmente como um tipo de dados de cadeia de caracteres
[DT_STR] com uma OutputColumnWidthde 50.
Remapear tipos de dados de coluna
1. Na caixa de diálogo Editor do Gerenciador de Conexões de Arquivos Simples, clique
em Sugerir Tipos.
Coluna de
Arquivos
Simples Tipo Sugerido Coluna de Destino Tipo de Destino
4. Clique em OK.
Nesta lição, você criará um gerenciador de conexões OLE DB que usa a Autenticação do Windows
para conectar-se à instância local do AdventureWorksDB. O gerenciador de conexões OLE DB que
você criar também será referenciado por outros componentes que você criar posteriormente neste
tutorial, como, por exemplo, a transformação Pesquisa e o destino OLE DB.
7. Clique em OK.
8. Clique em OK.
Observação:
SQL Server Integration Services separa o fluxo de dados de fluxo de controle. Essa separação de fluxos é uma
das diferenças significativas entre Integration Services e os Serviços de Transformação de Dados de Microsoft
SQL Server 2000.
Adicionar uma tarefa Fluxo de Dados
1. Clique na guia Fluxo de Controle.
É uma boa idéia fornecer nomes exclusivos a todos os componentes que você adiciona a
uma superfície de design. Para facilitar o uso e a sustentabilidade, os nomes devem
descrever a função que cada componente executa. Seguir estas diretrizes de nomeação
permite que seus pacotes Integration Services sejam documentados automaticamente.
Outra forma para documentar seus pacotes é usar anotações. Para obter mais
informações sobre as anotações, consulte Usando anotações em pacotes.
4. Clique com o botão direito do mouse na tarefa Fluxo de Dados, clique em Propriedades e,
na janela Propriedades, verifique se a propriedade LocaleIDestá definida como Inglês
(Estados Unidos).
Para este tutorial, você irá configurar a fonte de arquivo simples para usar o gerenciador de
conexões Dados da Fonte de Arquivo Simples de Exemplo criada anteriormente.
3. Na superfície de design Fluxo de Dados, clique com o botão direito do mouse na Fonte
de Arquivo Simples recém-adicionada, clique em Renomear e altere o nome
para Extrair Dados de Moeda de Exemplo.
4. Clique duas vezes na Fonte de Arquivo Simples para abrir a caixa de diálogo Editor da
Fonte de Arquivo Simples.
7. Clique em OK.
Observação:
Você também pode configurar a transformação Pesquisa para conectar-se a um cache que contém o conjunto de
dados de referência. Para obter mais informações, consulte Transformação Pesquisa.
Para este tutorial, você irá adicionar e configurar os dois componentes de transformações Pesquisa
a seguir para o pacote:
e. OR
f. [refTable].[CurrencyAlternateKey] = 'AUD'
g. OR
h. [refTable].[CurrencyAlternateKey] = 'BRL'
i. OR
j. [refTable].[CurrencyAlternateKey] = 'CAD'
k. OR
l. [refTable].[CurrencyAlternateKey] = 'CNY'
m. OR
n. [refTable].[CurrencyAlternateKey] = 'DEM'
o. OR
p. [refTable].[CurrencyAlternateKey] = 'EUR'
q. OR
r. [refTable].[CurrencyAlternateKey] = 'FRF'
s. OR
t. [refTable].[CurrencyAlternateKey] = 'GBP'
u. OR
v. [refTable].[CurrencyAlternateKey] = 'JPY'
w. OR
x. [refTable].[CurrencyAlternateKey] = 'MXN'
y. OR
z. [refTable].[CurrencyAlternateKey] = 'SAR'
aa. OR
cc. OR
[refTable].[CurrencyAlternateKey] = 'VEB'
10. Na janela Propriedades, verifique se a propriedade LocaleID está definida para Inglês
(Estados Unidos) e se propriedade DefaultCodePage está definida para 1252.
11. Clique com o botão direito na transformação Pesquisa de Código de Data, e clique
em Propriedades.
12. Na janela Propriedades, verifique se a propriedade LocaleID está definida para Inglês
(Estados Unidos) e se propriedade DefaultCodePage está definida para 1252.
Tarefa 7: Adicionando e configurando o destino OLE
DB
Seu pacote agora extrai dados de uma fonte de arquivo simples e transforma esses dados em um
formato compatível com o destino. A próxima tarefa é carregar os dados transformados no destino.
Para carregar os dados, você deve adicionar um destino OLE DB ao fluxo de dados. O destino do
OLE DB pode usar uma tabela, exibição de banco de dados ou um comando SQL para carregar os
dados em uma diversidade de bancos de dados compatíveis com o OLE DB.
Neste procedimento, você adiciona e configura um destino OLE DB para usar o gerenciador de
conexões OLE DB criado anteriormente.
8. Clique em Mapeamentos.
9. Verifique se as colunas de
entrada AverageRate, CurrencyKey, EndOfDayRatee TimeKey estão mapeadas
corretamente para as colunas de destino. Se forem mapeadas colunas com o mesmo
nome, o mapeamento estará correto.
11. Clique com o botão direito do mouse no destino Exemplo de Destino OLE DB e clique
em Propriedades.
12. Na janela Propriedades, verifique se a propriedade LocaleID está definida como Inglês
(Estados Unidos) e se a propriedade DefaultCodePage está definida como 1252.
O Business Intelligence Development Studio fornece ferramentas que tornam mais fácil e rápida a
formatação do layout do pacote. Os recursos de formatação incluem a capacidade de criar formas
do mesmo tamanho, alinhar formas e manipular o espaçamento horizontal e vertical entre os
espaçamentos.
Outro modo para melhorar a compreensão de funcionalidade de pacote é adicionar anotações que
descrevem a funcionalidade do pacote.
Nesta tarefa, você utilizará os recursos de formatação no Business Intelligence Development
Studio para melhorar o layout do fluxo de dados e também adicionar uma anotação ao fluxo de
dados.
Para usar a quebra de linhas no texto da caixa de anotação, posicione o cursor no local
que deseja começar uma nova linha e pressione as teclas Ctrl e Enter.
Se você não inserir um texto na caixa de anotação, essa caixa desaparecerá ao clicar fora
dela.
Fluxo de Controle
Fluxo de Dados
Para executar o pacote de tutorial da Lição 1
1. No menu Depurar, clique em Iniciar Depuração.
Porém, é raro para um processo de extração, transformação e carregamento (ETL) usar um único
arquivo simples. Um típico processo ETL extrairia dados de várias fontes de arquivo simples.
Extrair dados de várias fontes requer um fluxo de controle iterativo. Um dos recursos mais
antecipados do Microsoft Integration Services é a habilidade de adicionar iterações ou loops aos
pacotes de forma fácil.
O Integration Services fornece dois tipos de contêineres para efetuar loop através de pacotes: o
Loop Foreach e o Loop For. O contêiner Loop Foreach usa um enumerador para executar o loop,
enquanto que o Loop For geralmente usa uma expressão de variável. Esta lição usa o contêiner
Loop Foreach.
O contêiner Loop Foreach habilita um pacote a repetir o fluxo de controle para cada membro de
um enumerador especificado. Com o contêiner Loop Foreach, você pode enumerar:
Nesta lição, você não modificará o fluxo de dados, apenas o fluxo de controle.
Importante:
Este tutorial requer o banco de dados de exemplo AdventureWorksDW. Para obter mais informações
sobre como instalar e implantar oAdventureWorksDW, consulte Considerações para instalar exemplos e
bancos de dados de exemplo do SQL Server.
Tarefas da lição
Esta lição contém as seguintes tarefas:
3. No Solution Explorer, clique com o botão direito em Lesson 1.dtsx e, em seguida, clique
em Copiar.
5. No Solution Explorer, clique duas vezes em Lesson 2.dtsx para abrir o pacote.
6. Clique com o botão direito do mouse no plano de fundo da superfície de design Fluxo de
Controle e clique em Propriedades.
• Contêiner Loop Foreach Você mapeará o valor enumerado do contêiner para uma
variável de pacote definida pelo usuário. O contêiner usará a variável definida pelo
usuário para modificar dinamicamente a propriedade ConnectionString do gerenciador
de conexões de Arquivo Simples, e conectar-se iterativamente a cada um dos arquivos
simples da pasta.
• Gerenciador de conexões de Arquivo Simples Você modificará o gerenciador de
conexões que criou na Lição 1 usando uma variável definida pelo usuário para popular a
propriedade ConnectionString do gerenciador de conexões.
Os procedimentos nessa tarefa mostram como você pode criar e modificar o contêiner Loop
Foreach para usar uma variável definida pelo usuário e adicionar a tarefa de fluxo de dados ao
loop. Você aprenderá como modificar o gerenciador de conexões de Arquivo Simples para usar
uma variável definida pelo usuário na próxima tarefa.
Após essas modificações no pacote, quando ele for executado, o contêiner Loop Foreach iterará
através dessa coleção de arquivos na pasta Dados de Exemplo. Toda vez que um arquivo é
encontrado e corresponde ao critério, o contêiner Loop Foreach irá popular a variável definida pelo
usuário com o nome do arquivo, mapeará a variável definida pelo usuário para a
propriedade ConnectionString do gerenciador de conexões do Arquivo Simples de Dados Moeda
de exemplo e, então, executará o fluxo de dados naquele arquivo. Portanto, em cada iteração do
Loop Foreach a tarefa de Fluxo de Dados consumirá um arquivo simples diferente.
Observação:
Como o Microsoft Integration Services separa o fluxo de controle do fluxo de dados, qualquer loop que você
adicionar ao fluxo de controle não exigirá modificações no fluxo de dados. Portanto, o fluxo de dados que você
criou na Lição 1 não tem que ser alterado.
Para adicionar um contêiner Loop Foreach
1. Em Business Intelligence Development Studio, clique na guia Fluxo de Controle.
2. Clique em Coleção.
5. Na caixa de diálogo Procurar pasta, localize a pasta de dados de exemplo que contém os
dados de exemplo do tutorial.
Por padrão, a pasta de exemplos do tutorial está instalada na pasta C:\Arquivos de
Programas\Microsoft SQL Server\100\Samples\Integration Services\Tutorial\Creating a
Simple ETL Package\Sample Data.
Importante:
2. Na janela Propriedades, para Expressões, clique na célula vazia e então clique no botão
de reticências (...).
Use o procedimento a seguir para testar a nova funcionalidade de loop que você adicionou ao seu
pacote.
Fluxo de controle
Fluxo de dados
O pacote será executado. Você pode verificar o status de cada loop na janela Saída ou
clicando na guia Progresso. Por exemplo, você pode ver que foram adicionadas 1097
linhas à tabela de destino do arquivo Currency_VEB.txt.
Importante:
Este tutorial requer o banco de dados de exemplo AdventureWorksDW. Para obter mais informações sobre
como instalar e implantar oAdventureWorksDW, consulte Considerações para instalar exemplos e bancos de
dados de exemplo do SQL Server.
Tarefas da lição
Esta lição contém as seguintes tarefas:
5. No Gerenciador de Soluções, clique duas vezes em Lesson 3.dtsx para abrir o pacote.
6. Clique com o botão direito do mouse em qualquer local do plano de fundo da guia Fluxo
de Controle e clique em Propriedades.
Importante:
7. Retorne à guia Fluxo de Controle e clique duas vezes no contêiner Arquivo Foreach na
Pasta.
Observação:
Um arquivo de configuração geralmente contém informações complexas sobre as propriedades do pacote, mas,
para este tutorial, a única informação deveria ser [User::varFolderName].Properties[Value].
<?xml
version="1.0"?><DTSConfiguration><DTSConfigurationHeading><DTSCo
nfigurationFileInfo GeneratedBy="Domain\UserName"
GeneratedFromPackageName="Lesson 3"
GeneratedFromPackageID="{99396D72-2F8D-4A37-8362-96346AD53334}"
GeneratedDate="11/12/2005 12:46:13
PM"/></DTSConfigurationHeading><Configuration
ConfiguredType="Property"
Path="\Package.Variables[User::varFolderName].Properties[Value]"
ValueType="String"><ConfiguredValue>C:\New Sample
Data</ConfiguredValue></Configuration></DTSConfiguration>
A informações de
título, GeneratedBy, GeneratedFromPackageID e GeneratedDate serão diferentes
em seu arquivo. O elemento a ser anotado éConfiguration. A propriedade Value da
variável, User::varFolderName, agora contém C:\Novos Dados de Exemplo.
Para verificar se, em tempo de execução, o pacote atualizou corretamente o Diretório com o novo
valor, simplesmente execute o pacote. Devido a serem copiados apenas três arquivos de dados de
exemplo para o novo diretório, o fluxo de dados irá executar apenas três vezes ao invés de
interagir com 14 arquivos da pasta original.
Fluxo de Controle
Fluxo de Dados
Para testar o pacote de tutorial da Lição 3
1. No menu Depurar, clique em Iniciar Depuração.
O log é fornecido por um provedor de log. Cada provedor de log pode escrever informações de log
em diferentes formatos e tipos de destino. O Integration Services fornece os seguintes provedores
de log:
• Arquivo de texto
• SQL Server Profiler
• Janela Evento de Log
• SQL Server
• Arquivo XML
Nesta lição, você irá criar uma cópia do pacote que criou em Lição 3: Adicionando configurações
de pacote. Trabalhando com este novo pacote, você irá adicionar e então configurar o log para
monitorar eventos específicos durante a execução de pacote. Se você não tiver completado
nenhuma das anteriores lições, poderá também copiar o pacote da Lição 3 terminada, que está
inclusa no tutorial.
Importante:
Este tutorial requer o banco de dados de exemplo AdventureWorksDW. Para obter mais informações sobre como instalar
e implantar oAdventureWorksDW, consulte Considerações para instalar exemplos e bancos de dados de exemplo do SQL
Server.
Tarefas da lição
Esta lição contém as seguintes tarefas:
Como as informações de configuração do pacote são copiadas junto com o próprio pacote, você
também deve modificar a configuração do pacote para reverter uma das alterações feitas na lição
anterior e apontar o Loop Foreach de volta para a pasta Dados de Exemplo original.
5. No Gerenciador de Soluções, clique duas vezes em Lesson 4.dtsx para abrir o pacote.
6. Clique com o botão direito do mouse em qualquer local do plano de fundo da guia Fluxo
de Controle e clique em Propriedades.
Observação:
Não é necessário colocar o caminho entre aspas no arquivo de configuração XML.
3. Salve a alteração e feche o editor de textos.
O Integration Services adiciona um novo provedor de log para arquivos de texto para o
pacote, com o nome padrão SSIS provedor de logo para arquivos de texto. Agora é
possível configurar o novo provedor de log.
Importante:
Se o estado da caixa de seleção Extrair Dados de Exemplo de Moeda estiver esmaecido ao invés de marcada, a
tarefa usará as configurações de log do contêiner pai e não será possível ativar os eventos de log específicos para a
tarefa.
10. Na guia Detalhes, na coluna Eventos, selecione os
eventos PipelineExecutionPlan e PipelineExecutionTrees.
11. Clique em Avançado para revisar os detalhes que o provedor de log escreverá no log
para cada evento. Por padrão, todas as categorias de informações são selecionadas
automaticamente para os eventos especificados por você.
13. Na guia Provedor e Logs, na coluna Nome, selecione Arquivo de Log da Lição 4.
Assim que tiver criado um provedor de log para seu pacote, poderá, como opção, retirar a
seleção para temporariamente desligar o registro em log, sem ter que excluir e recriar o
provedor de log.
Fluxo de controle
Fluxo de dados
Para obter mais informações sobre como trabalhar com arquivos de log,
consulte Implementando logs em pacotes.
Em vez de permitir que as falhas interrompam a execução do pacote, é bom configurar e tratar
erros de processamento em potencial conforme ocorrem dentro da transformação. Como você
pode escolher ignorar as falhas para garantir que seu pacote seja executado com êxito,
freqüentemente é melhor redirecionar a linha com falhas para outro caminho de processamento,
em que os dados e o erro podem ser persistentes, examinados e reprocessados posteriormente.
Nesta lição, você criará uma cópia do pacote desenvolvido em Lição 4: Adicionando log. Ao
trabalhar com este pacote novo, você criará uma versão corrompida de um dos arquivos de dados
de exemplo. O arquivo corrompido forçará a ocorrência de um erro de processamento quando
você executar o pacote.
Para tratar os dados de erro, você adicionará e configurará um destino de Arquivo Simples que
gravará qualquer linha que não localize um valor de pesquisa na transformação Pesquisa de
Códigos de Moeda em um arquivo.
Antes que os dados de erro sejam gravados em um arquivo, você incluirá um componente Script
que utiliza script para obter as descrições de erro. Você reconfigurará, então, a transformação
Pesquisa de Códigos de Moeda para redirecionar qualquer dado que não possa ser processado
para a transformação Script.
Importante:
Este tutorial requer o banco de dados de exemplo AdventureWorksDW. Para obter mais informações sobre como
instalar e implantar oAdventureWorksDW, consulte Considerações para instalar exemplos e bancos de dados de
exemplo do SQL Server.
Tarefas da lição
Esta lição contém as seguintes tarefas:
5. No Gerenciador de Soluções, clique duas vezes no pacote Lesson 5.dtsx para abri-lo.
6. Clique com o botão direito do mouse no plano de fundo da guia Fluxo de Controle e
clique em Propriedades.
Nesta tarefa, você criará uma cópia de um arquivo simples de amostra existente. Você deverá
então abrir o arquivo no Bloco de Notas e editar a coluna CurrencyID para certificar-se de que
não produzirá uma correspondência durante a pesquisa de transformações. Quando o arquivo
novo for processado, a falha na pesquisa irá causar a falha da transformação Pesquisa de Códigos
de Moeda e criará, portanto, uma falha no resto do pacote. Depois de criar o arquivo de amostra
corrompido, você executará o pacote para exibir a falha do pacote.
3. Na mesma pasta dos outros arquivos de dados de exemplo, salve o arquivo modificado
como Currency_BAD.txt.
Importante:
Observação:
O número 30 é a ID do componente. Esse valor é atribuído quando você cria o fluxo de dados, ou seja, o
valor do seu pacote pode ser diferente.
Nesta tarefa, você configurará a transformação Pesquisa de Códigos de Moeda para redirecionar
linhas com falha para a saída de erro. Na ramificação de erro do fluxo de dados, essas filas serão
gravadas em um arquivo.
Para aumentar a utilidade da saída de erro, antes de o pacote gravar as linhas com falha no
arquivo, você usará um componente Script para acessar a API do Integration Services e obter
uma descrição do erro.
10. Na página Script, verifique se a propriedade LocaleID está definida como Inglês
(Estados Unidos).
11. Clique em Editar Script para abrir o Microsoft Visual Studio Tools for Applications (VSTA).
No método Input0_ProcessInputRow, digite ou cole o código a seguir.
[Visual Basic]
Row.ErrorDescription =
Me.ComponentMetaData.GetErrorDescription(Row.ErrorCode)
[Visual C#]
Row.ErrorDescription =
this.ComponentMetaData.GetErrorDescription(Row.ErrorCode);
[Visual Basic]
Row.ErrorDescription =
Me.ComponentMetaData.GetErrorDescription(Row.ErrorCode)
End Sub
[Visual C#]
Row.ErrorDescription =
this.ComponentMetaData.GetErrorDescription(Row.ErrorCode);
12. Crie o script para salvar suas alterações e depois feche o VSTA.
Nessa tarefa, você salvará todas essas informações sobre as linhas com falha em um arquivo
delimitado, para processamento posterior. Para salvar as linhas com falha, você deve adicionar e
configurar um gerenciador de conexões de arquivo simples para o arquivo de texto que conterá os
dados de erro e um arquivo simples de destino. Ao definir propriedades no gerenciador de
conexões de arquivo simples que o arquivo simples usa, você pode especificar como o destino do
arquivo simples formata e escreve o arquivo de texto. Para obter mais informações,
consulte Gerenciador de conexões de arquivo simples e Destino de arquivo simples.
5. Clique com o botão direito do mouse na transformação Linhas com Falha, clique
em Editar e, em seguida, no Editor de Destino de Arquivo Simples, clique em Novo.
Observe que, além das colunas do arquivo de dados de origem, três colunas novas estão
presentes: ErrorCode, ErrorColumn e ErrorDescription. Essas colunas são geradas pela
saída de erro da transformação Pesquisa de Códigos de Moeda e pelo script na
transformação Obter Descrição do Erro e podem ser usadas para diagnosticar a causa da
linha com falha.
Ao desmarcar essa caixa de seleção, os erros sobre as execuções de vários pacotes serão
mantidos.
Nesta tarefa, você testará a configuração de saída do erro revisado executando o pacote. Com a
execução bem-sucedida do pacote, você verá o conteúdo do arquivo ErrorOutput.txt.
Observação:
Se você não quiser acumular linhas de erro no arquivo ErrorOutput.txt, exclua manualmente o conteúdo do
arquivo entre execuções de pacotes.
Verificando o layout do pacote
Antes de você testar o pacote, é recomendável verificar se o fluxo de controle e o fluxo de dados
do pacote da lição 5 contêm os objetos mostrados nos diagramas seguintes. O fluxo de controle
deve ser idêntico ao fluxo de controle das lições 2 - 4.
Fluxo de controle
Fluxo de dados