Retirando a conversão de valores do BCP

Um processo comum que possuímos em nossos ambientes é a importação de dados ou utilizando BulkInsert,BCP, Integration Services enfim e dentro dessa rotina de importação de dados é normal que possuímos registros contendo acentos. E uma coisa que pergunto a vocês é: Como realizar a importação e exportação desses dados sem alterar seu reais valores. Abaixo segue uma dica bastante simples de como realizar esses procedimentos sem retirar os acentos.

No primeiro exemplo vou realizar uma exportação de dados de uma tabela chamada tblBCPExport. A sintaxe abaixo você deve colocar no prompt de comando (CMD)

bcp “bcpExport.dbo.tblbcpExport” out “C:\temp\BCPDBExport.txt” -n -SFRECCIA –T -CRAW –c

image

Olhando o resultado.

image

Agora vem a questao. Qual o parâmetro especificado que nos permite que nenhuma conversão seja realizado nos valores que são exportados?

De acordo com a documentação http://msdn.microsoft.com/en-us/library/aa174646(v=sql.80).aspx temos o seguinte parâmetro “-C code_page”

image

Analisando a tabela acima o código que necessitamos acrescentar então é RAW. O mesmo diz na documentação que nenhuma conversão ocorrera. Verificando a sintaxe do bcp temos o parametro –CRAW especificado.

Mas e na importaçao o mesmo se aplica? Vamos testar.

Possuo uma tabela chamada tblBCPImport na qual vou pegar o resultado do arquivo txt e inserir nessa tabela com o seguinte comando.

bcp “bcpImport.dbo.tblbcpImport” in “C:\temp\BCPDBExport.txt” -n -SFRECCIA –T -CRAW –c

Temos o seguinte resultado

image

Vamos inserir agora sem utilizar o parametro –CRAW.

Comando BCP.

bcp “bcpImport.dbo.tblbcpImport” in “C:\temp\BCPDBExport.txt” -n -SFRECCIA –T  –c

image

Como podem ver a formataçao do resultado ficou totalmente errada.

Bom pessoal por hoje é isso, apenas uma dica de como utilizar o comando BCP.

Abraços,
Marcos Freccia
[MCTS|MCITP|MCT SQL Server 2008]

Sobre Marcos Freccia

MVP em SQL Server (Data Plataform) , especialista em SQL Server, e atualmente trabalhando com Microsoft Azure!

Publicado em abril 18, 2012, em Desenvolvimento, VirtualPass e marcado como , , . Adicione o link aos favoritos. 1 comentário.

  1. Muito boa a dica Marcos,
    Vou publicar no meu blog te referenciando, OK?

    Valeu e Abraço!

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: