none
Erro carga arquivo txt no SQL SERVER 2019 via BCP RRS feed

  • Pergunta

  • Oi pessoal!

    Migrei do SQL Server 2008 para o 2019 e a carga que eu fazia normalmente não está funcionando mais.

    Se alguém poder me ajudar, agradeço.

    Fernando.

    Está dando o erro:

    SQLState = 22005, NativeError = 0

    Error = [Microsoft][ODBC Driver 17 for SQL Server] Valor de caractere inválido para especificação de conversão

    SQLState = 22005, NativeError = 0

    Error = [Microsoft][ODBC Driver 17 for SQL Server] Valor de caractere inválido para especificação de conversão

    SQLState = 22005, NativeError = 0

    Error = [Microsoft][ODBC Driver 17 for SQL Server] Valor de caractere inválido para especificação de conversão

    Falha na cópia BCP in

    quinta-feira, 18 de março de 2021 12:39

Todas as Respostas

  • FernandoUI,

    Você instalou neste máquina que esta sendo utilizada para fazer a carga dos dados o ODBC Driver 17 do SQL Server?

    Veja se estes links podem te ajudar:

    Download Microsoft® ODBC Driver 17 for SQL Server® – Windows, Linux e macOS from Official Microsoft Download Center

    Download Microsoft® ODBC Driver 17 for SQL …


    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | MTAC | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    quinta-feira, 18 de março de 2021 18:36
    Moderador
  • Caro Pedro,

    Eu já tinha a versão ODBC 17 for SQL Server instalado, uma vez que instalei o SQL Server 2019 e o Windows Server 2019 no sistema.

    Aproveitei e atualizei (tinha 1 atualização pendente), mas as mensagens de erro continuam as mesmas.

    Eu gostaria de saber, pela descrição da mensagem, qual é a causa do erro para que eu possa detectá-lo e ajustá-lo. Não encontrei essa mensagem nas tabelas de erros nos sites da Microsoft.

    De qualquer maneira, obrigado pela dica.

    FernandoUI.

    sexta-feira, 19 de março de 2021 13:10
  • FernandoUI,

    Ok, eu perguntei sobre o ODBC, pois mesmo instalando o SQL Server 2019, esta versão do ODBC em alguns ambientes não é instalada, por isso o motivo do questionamento.

    No que se refere a mensagem de erro:

    "

    Está dando o erro:

    SQLState = 22005, NativeError = 0

    Error = [Microsoft][ODBC Driver 17 for SQL Server] Valor de caractere inválido para especificação de conversão

    SQLState = 22005, NativeError = 0

    Error = [Microsoft][ODBC Driver 17 for SQL Server] Valor de caractere inválido para especificação de conversão

    SQLState = 22005, NativeError = 0

    Error = [Microsoft][ODBC Driver 17 for SQL Server] Valor de caractere inválido para especificação de conversão"

    Provavelmente algum dado que você esta tentando importar esta sendo de forma implícita convertida pelo SQL Server.

    Verifique os tipos de dados que você esta utilizando neste bcp, talvez seja o caso de forçar uma importação como se todos fossem NVarchar() e depois você realizar as devidas conversões.

    Existem dados no formato de Money, Decimal ou DateTime?

    Estou pensando em algumas possibilidades que poderíamos tentar:

    1 - Utilizar um arquivo de format, por exemplo um arquivo .fmt, através da opção -f.

    2 - Fazer uso da opção -c, para que justamente os dados sejam tratados como caracteres.

    3 - Fazer uso das opções: -C { ACP | OEM | RAW, pensando na possibilidade de especificar um código de página para leitura da estrutura do arquivo.

    Veja se a documentação do comando BCP pode te ajudar:

    bcp Utility - SQL Server | Microsoft Docs


    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | MTAC | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    domingo, 21 de março de 2021 13:33
    Moderador
  • Caro Pedro,

    Obrigado.

    O erro está aqui https://www.emidioleite.com.br/2016/12/06/solucao-para-o-erro-tipo-de-dados-datetime-resultou-em-um-valor-fora-do-intervalo-no-sql-server/

    Sds,

    Fernando.

    sexta-feira, 28 de maio de 2021 16:50
  • Fernando,

    Ok, eu acessei o link, mas agora acabei ficando na dúvida! Você conseguiu contornar o problema?

    Na versão quando alteramos a linguagem do usuário, não estamos alterando o formato de apresentação do dado fisicamente em disco, mas sim o formato de apresentação e tratamento em tela.


    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | MTAC | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    sábado, 29 de maio de 2021 12:16
    Moderador