2013-10-12 3 views
0

SQL Server 테이블로 텍스트 파일을 읽으려면 대량 삽입을 사용하고 있습니다. 내가 텍스트 파일의 첫 번째 줄을 가져 와서 문장에 평범한 오래된 삽입으로 값을 복사하더라도, 대량 삽입을 사용해도 같은 오류가 계속 발생합니다. 모든 것이 작동합니다. 다음과 같이 내 데이터베이스, stop_times는 설정이다 :대량 삽입이 .txt 파일을 SQL Server로 읽는 중 작동하지 않습니다.

train_num int, 
arrival_time time, 
dept_time time, 
station_name varchar(50), 
seq_num, int 

내 .txt 파일은 나에게 4864

메시지를 제공

bulk insert dbo.stop_times 
from 'C:\Users\amanda\Desktop\stop_times1.txt' 
with(
    FIELDTERMINATOR=',' 
) 

실행 다음과 같은 형식

101,'04:30:00','04:30:00','San Jose',1 
101,'04:35:00','04:35:00','Santa Clara',2 
101,'04:40:00','04:40:00','Lawrence',3 

있다 , 레벨 16, 상태 1, 라인 1
행 1, 열 1 (train_num)에 대한 대량로드 데이터 변환 오류 (지정된 코드 페이지에 대한 유형 불일치 또는 유효하지 않은 문자)입니다.
메시지 4864, 수준 16, 상태 1, 줄 1
행 2, 열 2 (arrival_time)에 대한 대량로드 데이터 변환 오류 (형식이 일치하지 않거나 지정된 코드 페이지에 대해 유효하지 않은 문자)입니다.
메시지 4864, 수준 16, 상태 1, 줄 1
행 3, 열 2 (arrival_time)에 대한 대량로드 데이터 변환 오류 (형식이 일치하지 않거나 지정된 코드 페이지에 유효하지 않은 문자)입니다.

그러나, 복사 및

insert into stop_times(train_num, arrival_time, dept_time, station_name, seq_num) 
values (101, '04:30:00', '04:30:00', 'San Jose', 1); 

작품으로 첫 번째 행을 붙여. 나는 대량 삽입 기능에서 완전히 명백한 것을 놓치고있는 것처럼 느껴진다. 그러나 우둔하다.

+0

같은 것을 할 필요가

bulk insert dbo.stop_times from 'C:\Users\amanda\Desktop\stop_times1.txt' with( FIELDTERMINATOR=',', ROWTERMINATOR = '\n' ) 

형식의 파일에서보세요 시도 http://msdn.microsoft.com/ en-us/library/ms179250.aspx –

답변

0

이 당신이 1 행에 열 이름이있는 경우 u는이

bulk insert dbo.stop_times 
from 'C:\Users\amanda\Desktop\stop_times1.txt' 
with(
    FIELDTERMINATOR=',', 
    ROWTERMINATOR = '\n', 
    FIRSTROW = 2 

) 
+0

** 팁 ** 및이 쿼리를 실행하기 전에 가져 오려는 파일이 다른 곳에서는 열리지 않았는지 확인하십시오. –

+0

파일이 닫혔는지 확인한 후 ROWTERMINATOR. 난 여전히 그 오류가 (심지어는 \ r \ n 'ROWTERMINATOR에 대한) 시도했다 –

+0

당신은'\ n '과 함께하고 그것을 해본 적이 있고 당신이 삽입하려고하는 열에 대한 데이터 형식이 무엇인지 말해 주시겠습니까 이 레코드와 대략 .txt 파일에있는 레코드 수. –

관련 문제