Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Solay

Bulk Insert importando arquivo do unix

Recommended Posts

Olá a todos

 

 

Estou tentando importar um arquivo texto que foi gerado por um servidor unix no sql server 2000 usando o comando bulk insert, mas ele da erro dizendo que não encontrou o final do arquivo (EOF).

A minha tabela teste tem 43 campos, pois o arquivo tem 43 colunas separadas por ponto e vírgula, todos os campos são varchar (255), se eu importar sem o FIELDTERMINATOR , ou seja, criar um campo vachar (4000) ele acha o final do arquivo, mas dai vou ter que separar os campo com um while até encontra o ponto e vírgula para dai separar em colunas.....vai levar muito tempo. Se tem a opção de FIELDTERMINATOR tinha que funcionar mesmo para um arquivo do unix..........já tentei outros ROWTERMINATOR e nada funcionou.....alguem já teve esse problema???? desde já agradeço a ajuda.

 

BULK INSERT teste

FROM 'D:\teste.txt' WITH ( FIELDTERMINATOR =';',ROWTERMINATOR = '\n' )

 

 

 

Bye

Compartilhar este post


Link para o post
Compartilhar em outros sites

Descobri pq não esta achando o final do arquivo, o arquivo tem uma linha de cabeçalho e outro de rodapé e elas tem somente 3 colunas, mas mesmo assim se eu usar o DTS funciona a importação pq será que pelo bulk insert não funciona.....se a mensagem de erro que apareçe:

 

Server: Msg 4832, Level 16, State 1, Line 1

Bulk Insert: Unexpected end-of-file (EOF) encountered in data file.

Server: Msg 7399, Level 16, State 1, Line 1

OLE DB provider 'STREAM' reported an error. The provider did not give any information about the error.

The statement has been terminated.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Descobri pq não esta achando o final do arquivo, o arquivo tem uma linha de cabeçalho e outro de rodapé e elas tem somente 3 colunas, mas mesmo assim se eu usar o DTS funciona a importação pq será que pelo bulk insert não funciona.....se a mensagem de erro que apareçe:

 

Server: Msg 4832, Level 16, State 1, Line 1

Bulk Insert: Unexpected end-of-file (EOF) encountered in data file.

Server: Msg 7399, Level 16, State 1, Line 1

OLE DB provider 'STREAM' reported an error. The provider did not give any information about the error.

The statement has been terminated.

Amigo, creio que você estja enganado em relação ao erro. O erro diz que ele ENCONTROU o fim do arquivo.

 

Provavelmnete o seu laço de repetição (while) esteja maior que o arquivo. Tenta aí...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.