이 쿼리를 실행하려고합니다. 또한 FIELDTERMINATOR 및 ROWTERMINATOR를 지정하지 않고 시도했습니다. 그것은 제가 수동으로 미리 작성하는 데이터 파일을 사용하고 있습니다 (bcp out이 아님).BULK INSERT 오류의 원인을 확인할 수 없습니다.
BULK INSERT FS.dbo.Termination_Call_Detail
FROM 'C:\Termination_Call_Detail__1317841711.dat'
WITH
(
FORMATFILE = 'C:\Termination_Call_Detail__update_TerminationCallDetailData.fmt',
FIELDTERMINATOR = '\t',
ROWTERMINATOR = '\r\n'
)
오류 나는군요 :
Server 메시지 수 = 4864 심각도 = 16 상태 = 1 개 라인 = USA109MSSQL1A
텍스트 = 대량로드 데이터 변환 오류 (유형 불일치 한 서버 또는 지정된 코드 페이지에 대해 문자가 유효하지 않음) 행 1, 열 9 (RouterCallKey)에 대해 .Server 메시지 수 = 4832 심각도 = 16 상태 = 1 개 라인 = 1 서버 = USA109MSSQL1A
텍스트 = 대량로드 : 파일의 예기치 않은 끝이 데이터 파일에 발생했습니다.Server 메시지 수 = 7399 심각도 = 16 상태 = 1 개 라인 =
텍스트 = OLE DB 공급자 연결된 서버 "BULK" "(널)는" 가 오류를보고 = USA109MSSQL1A 1 개 서버.
공급자가이 오류에 대한 정보를 제공하지 않았습니다.Server 메시지 수 = 7330 심각도 = 16 상태 = 2 라인 = 1 개 서버 = USA109MSSQL1A
텍스트 = OLE DB 공급자 연결 서버에 대한 "BULK" "(널)"에서 행을 가져올 수 없습니다.
나는 단지 1 행으로 작업하려고합니다.
ASCII 데이터 파일 : 데이터 파일의
611658275664 1 5027 5001 5005 5010 2011-10-05 14:53:44 1317840824 240 2011-10-05 14:54:04 1317840844 150026 211 2 1 4480 21543 28 0 29 0 0 0 0 29 0 0 0 IPT_Call TAC_Rollover 424755/4 N 0 5030 5000 2865 805336626 2674794299 N 1 3 N 0 0
진수 덤프 : http://pastebin.com/grnwQrdT
형식 파일 : http://pastebin.com/WwSQvCGg
테이블 스키마 :이 삽입 (66 개) 열을 사용 http://pastebin.com/gFjp4xYy
; 테이블에는 84 개의 열이 있습니다. 전체 테이블의 bcp 및이 행의 데이터 파일로 서식 파일을 만들면이 BULK INSERT QUERY를 문제없이 실행할 수 있습니다. (모든 열이) 데이터의 동일한 행에 BCP에 의해 생성 된 데이터 파일의
진수 덤프 : http://pastebin.com/MpMk6iq4
나는 꼼꼼하게 누락 된 줄 바꿈 또는 탭 구분 기호를 찾았다,하지만 난 하나를 찾을 수 없습니다. 데이터 파일의 16 진 덤프에서 모든 것이 올바르게 구분 된 것을 볼 수 있습니다. 필자는 bcp에서 작성한 데이터 파일과 비교하여 형식이 다른 점을 찾을 수 없었습니다.
그 특정 필드 (RouterCallKey)에 대해 불평하는 이유도 상상할 수 없습니다. 형식 파일에 RouterCallKeyDay와 같은 다른 필드가 있습니다.
감사합니다.
질문을 게시하기에 충분할만큼 좌절감을 느꼈습니다. 이 대량 삽입 쿼리에 잘못된 형식의 파일 이름을 제공하는 데이터 파일을 만든 코드에 논리적 버그가있었습니다. 지금은 효과가 있습니다. – aparker
글쎄, 내가 찾은 문제를 말하지 않을거야. 다행 이니 다행 이네. – Sparky