none
Importação de Arquivo através de Bulk Insert não importa palavras com acento.

    Question

  • Olá pessoal...

     

    Estou fazendo a importação de vários arquivos através de bulk insert para o SQL server Express...

     

    Um desses arquivos, em vários campos, existem palavras com acento.

     

    Estou importando utilizando um arquivo de formato em xml para a definição do tamanho dos campos, que estão nos arquivos separados por largura fixa.

     

    O problema é que as palavras com acento estão sendo importadas de forma incorreta... por exemplo, Comunicação, vira ComunicaþÒo.

     

    Alguém sabe me dizer o que está errado? Será que o tipo de dado que estou colocando no xml está errado?

     

        <COLUMN SOURCE="2"     NAME="TIPO_CLIENTE"    xsi:type="SQLTEXT"/>

    Tuesday, May 04, 2010 2:55 PM

Answers

  • Não sei se este vem ao caso, mas caso você trabalhe com banco para .ASP ou .Net você pode pode tentar inserir o acento de html. Seguem os algorítimos de html para acentuação e pontuação: http://www.lsi.usp.br/~help/html/iso.html

    Outra opção é utilizar o replace quando você ler o campo XML.

     

     

    Espero ter ajudado.

    Wednesday, May 12, 2010 12:50 PM
  • Lavitz,

    deve ser uma diferença de collation.

    qual é o collate usado na coluna no SQL Server? esse collate aceita os caracteres que você está importando?

    Se estiver usando o SQL Server 2008 dá para fazer alteração do collate por coluna. Como teste, você pode alterar o collate da coluna para um compatível com caracteres especiais(ç,~,etc) e importar novamente.

    Espero ter ajudado.


    Se a resposta resolveu sua questão ou problema, classifique-a para manter a qualidade do forum e a confiabilidade dos participantes.

    Alex M. Bastos
    http://bastosalex.spaces.live.com
    Wednesday, May 12, 2010 1:27 PM

All replies

  • Não sei se este vem ao caso, mas caso você trabalhe com banco para .ASP ou .Net você pode pode tentar inserir o acento de html. Seguem os algorítimos de html para acentuação e pontuação: http://www.lsi.usp.br/~help/html/iso.html

    Outra opção é utilizar o replace quando você ler o campo XML.

     

     

    Espero ter ajudado.

    Wednesday, May 12, 2010 12:50 PM
  • Lavitz,

    deve ser uma diferença de collation.

    qual é o collate usado na coluna no SQL Server? esse collate aceita os caracteres que você está importando?

    Se estiver usando o SQL Server 2008 dá para fazer alteração do collate por coluna. Como teste, você pode alterar o collate da coluna para um compatível com caracteres especiais(ç,~,etc) e importar novamente.

    Espero ter ajudado.


    Se a resposta resolveu sua questão ou problema, classifique-a para manter a qualidade do forum e a confiabilidade dos participantes.

    Alex M. Bastos
    http://bastosalex.spaces.live.com
    Wednesday, May 12, 2010 1:27 PM
  • Lavitz,

    Você conseguiu solucionar o seu problema?
    Caso afirmativo poste a solução para que outras pessoas se beneficiem.

    Att,
    Fernanda


    “Caso esta resposta tenha ajudado a solucionar sua dúvida, favor clicar em “Marcar como Resposta” para beneficiar outros membros da comunidade que estejam lendo este thread”.
    • Proposed as answer by marciomm Thursday, June 10, 2010 1:41 PM
    Friday, May 14, 2010 1:10 PM
    Moderator
  • Estava com o mesmo problema, vc tem q colocar a opção

    CODEPAGE = 'ACP',

    Exemplo:

    BULK

     

    INSERT sua tabela FROM 'endereço/seu arquivo'

    WITH

     

    (

    CODEPAGE

     

    = 'ACP',

    FIRSTROW

     

    = 2,

    FIELDTERMINATOR

     

    ='|'

    );

     

    • Proposed as answer by David Pierozzi Wednesday, January 05, 2011 2:35 PM
    Thursday, June 10, 2010 1:43 PM
  • Prezados colegas,

    Precisava importar uma tabela texto com acentos para uma tabela do SQL Server 2008 e usei o BULK INSERT com a opção CODEPAGE = 'ACP' e funcionou corretamente, ou seja, conforme o colega Marcio mencionou!

    Wednesday, January 05, 2011 3:04 PM