Completo a Certificação do SQL Server 2008 ou vou direto para 2012? minha opinião

0
Nesse video, compartilho a minha opiniao sobre esse assunto: Completo a Certificação do SQL Server 2008 ou vou direto para 2012? Tagged: Certification, MCSA, MCSE, SQL Server

Live meeting de SQL Server 2012 gratuito–SQLSOUTHWEST

Pessoal, o grupo SQLSouthWest da Inglaterra do grande amigo e Jedi  Jonathan Allen (@fatherjack

SQL Server 2012 Brasil Tour em Florianopolis

0
Ola Pessoal, Como voces podem estar vendo foi lançado um novo canal de comunicação da Microsoft com a comunidade de SQL Server que foi uma nova pagina criada no site do technet a fim de centralizar todo o conteudo relacionado a SQL Server para que e...

Live meeting de SQL Server 2012 gratuito–SQLSOUTHWEST

0
Pessoal, o grupo SQLSouthWest da Inglaterra do grande amigo e Jedi  Jonathan Allen (@fatherjack) esta proporcionando alguns treinamentos online (live meeting) com os Jedis  do SQL Server Mundial como Mladen Prajdic (@mladenprajdic), Aaron Nelson(@sqlvariant).. É uma otima oportunidade de aprender …

Visualizing and Automating SQL Server health with PowerShell and Excel

I was surfing on twitter (almost do not like doing that) when I saw a message from one of the big na

Visualizing and Automating SQL Server health with PowerShell and Excel

0
I was surfing on twitter (almost do not like doing that) when I saw a message from one of the big names in the SQL Server community on the world , Sir Robert Davis  (@SQLSoldier) asking for a solution to …

Melhorias do T-SQL no SQL Server 2012 (Parte 5)

0
Nessa semana iremos falar sobre as novas funções que foram adicionadas na versão do SQL Server 2012.   Funções de Conversão - Parse - Try_Parse - Try_Convert   SELECT PARSE(’1988/07/20′ AS DATETIME2) AS [Parse]   SELECT TRY_PARSE(’20-07-1988′ AS DATETIME2) AS [Try_Parse]   SELECT TRY_CONVERT(DATETIME, ’20-07-1988′) AS [Try_Convert]   (Figura 1 – Conversões das Funções)   [...]

Pesquisando o mesmo registro em diversas tabelas no SQL Server 2008, R2 e 2012.

0
Dica - Pesquisando o mesmo registro em diversas tabelas no SQL Server 2008, R2 e 2012.

Aniversário de 3 anos do SQL From Hell!!

0
Há três anos iniciou o SQL From Hell, sem muita perspectiva do que iria se tornar, e hoje, me surpreendo que um blog escrito em português sobre assuntos técnicos bem específicos, tenha conseguido ajudar tantas pessoas, além das várias críticas e elogios que tem recebidos. Procurei nestes três anos tratar assuntos que eu gosto, como SMO, […]

Lendo conteúdo de arquivo PDF para o SQL Server com Integration Services (Parte 4)


Olá pessoal,

Eu não contava que ia ficar tão grande este tutorial, mas vamos lá...

Vamos começar por onde paramos no ultimo post, no Conditional Split.


     O Conditional Split é parecido com o Derived Column, os dois painéis superiores funcionam exatamente iguais ao Derived Column, no painel abaixo é onde faço a condição que vai limpar as linhas nulas.
     A coluna Order define a ordem que vai ser feita a verificação, a Output Name da um nome para a saída que vai testar a condição, o campo Default output name é a outra saída, que vou descartar quem não quero e a coluna Condition é onde construo a expressão, temos também o botão Configure Error Output para fazer alguns tratamentos em caso de erro, mas não o utilizo.

Função: TRIM( «character_expression» )
Função: ISNULL( «expression» )
Operador: != (Unequal)
Operador: && (Logical AND)
Expressão: TRIM(NOME) != "" && !ISNULL(NOME)

O que eu faço é verificar se a coluna nome é diferente de nulo ou vazio, com isso posso descartar a linha toda se não respeitar a condição.
Veremos o resultado depois desse filtro.


Vejam que agora não tenho mais linha vazias e até a linha que tinha um caractere especial foi descartada também.
Por ultimo temos o componente OLE DB Destination, ele carrega dados em uma variedade de OLE DB compatíveis com bancos de dados usando uma tabela de banco de dados ou uma view ou um comando SQL.
·         A OLE DB é uma API desenvolvida pela Microsoft com base no COM (Component Object Model). Essa API representa uma biblioteca de interface COM que permite o acesso universal a diversas fontes de dados.


Dentro de Connection Manager temos o OLE DB connection manager, onde escolhemos uma conexão existente com o banco de dados de destino ou criamos uma para um banco de dados existente.
Dentro de Data Access mode, escolhemos a forma como vamos visualizar ou manipular a tabela que vai receber os dados.
Em Name of the table or the view, caso o Data Access mode esteja em table or view, selecionamos a tabela sem ter que usar um comando SQL.
No botão NEW, caso a tabela que vai receber os dados não exista, podemos criar uma.


Ao clicar sobre o botão NEW, o próprio componente já gera uma instrução SQL criando uma tabela com as colunas que foram criadas nos componentes anteriores, neste ponto é só ajustar os dados, no meu caso, vou alterar o nome da tabela para TABELA, não tenho interesse na coluna [coluna], e vou ajustar os tipos de dados de [CODIGO], [NOME], [DATA] E [SITUACAO], depois é só confirmar dando OK.



     Na opção Mappings, verifco se o mapeamento está de acordo, o proprio componente faz o mapeamento se os nomes coincidirem, neste caso apenas confirmo, Se não estivesse mapeado faria a ligação dos mesmos.

Na opção Error output posso fazer mais algum tratamento para erros que possam acontecer, mas não utilizei essa parte.

Se deu tudo certo, é hora de executar o projeto.




Veja a situação acima, esse monte de caixinha verde, isso indica que as coisas deram certo.

Para confirmar vou no SQL Server, no banco de dados que escolhi, e vou visualizar a tabela TABELA.




     E ai está o resultado que esperava, os dados de um arquivo PDF viraram dados separados em colunas numa tabela do SQL Server, graças ao SSiS.


     Claro que o arquivo que usei foi muito pequeno e simples, mas posso aplicar os mesmos conceitos em um arquivo muito maior, de 10 linhas poderia ter 10.000 linhas, de 4 colunas poderia ter umas 10, haveria muito mais trabalho para separar os dados, se tivesse mais colunas, mas em relação às linhas a quantidade não importa, o tratamento é o mesmo.


Bom é isso ai, espero ter ajudado.












Referências


Go to Top