Importação SQL Server
30/06/2019
0
Sou iniciante no SQL Server e estou tentando importar um arquivo CSV mas, não estou conseguindo aparece o erro abaixo:
O tipo de valor fornecido String da origem de dados não pode ser convertido para o tipo smallint da coluna de destino especificada. (System.Data)
Falha ao converter valor de parâmetro de String em Int16. (System.Data)
Valor era muito grande ou muito pequeno para Int16. (mscorlib)
Alguém poderia me ajudar?!
Karolina
Posts
30/06/2019
Emerson Nascimento
para que você tenha uma ajuda mais precisa, seria bom você publicar a estrutura da tua tabela, algumas linhas do arquivo CSV e também a instrução que você utilizou.
30/06/2019
Karolina
O tipo de valor fornecido String da origem de dados não pode ser convertido para o tipo smallint da coluna de destino especificada. (System.Data)
Falha ao converter valor de parâmetro de String em Int16. (System.Data)
Valor era muito grande ou muito pequeno para Int16. (mscorlib)
e também tentei importar pelo BULK INSERT mas não reconheceu o nome da minha planilha
USE test
GO
BULK INSERT 'FRETE_TEST' FROM 'C:\\Users\\c2523772\\Desktop\\Consulta\\TEST_PROJETO_DE_FRETE'
WITH (
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\\n'
);
GO
01/07/2019
Bruno Guelere
Pela mensagem apresentada o que pode estar ocorrendo é que você está tentando gravar um numero que não está entre os valores -65536 e 65536. Essa range de valores se refere ao int16 (smallint no banco de dados). Ou ainda podem haver caracteres que não sejam números na sua string. Se contiver somente números mesmo tente trocar por int32 (int no banco de dados) ou até mesmo um int64 (bigint no banco de dados).
01/07/2019
Luiz Santos
O que acontece, é que você já criou a tabela com os tipos que você "espera" receber.
Normalmente, quando trabalhamos com planilhas excel, ele quase sempre interpreta tudo como se fosse texto. (diga-se de passagem, você vai ter menos dor de cabeça se usar um csv)
Se quer um conselho, crie uma tabela com o tipo de dados nvarchar(255).
Assim você vai conseguir importar tudo o que estiver no seu arquivo.
Em um segundo passo, você começa a converter os tipos de acordo com a sua necessidade.
Para essa brincadeira vc vai precisar de 2 tabelas.
Uma para receber os dados, conforme estão na planilha.
Outra para receber os dados depois do tratamento final.
Outra alternativa é usar o Integration Services da Microsoft, para desenhar todo o seu processo de ETL lá dentro.
Espero ter ajudado.
Grande abraço.
Clique aqui para fazer login e interagir na Comunidade :)