2017-12-05 27 views
0

여기에 몇 가지 예가 있지만 적절한 해결책을 찾을 수 없습니다.텍스트 파일에서 SQL 테이블에 대량 삽입하는 방법

enter image description here

을 나는 테이블에 bulk insert을에 다음과 같은 논리가있다 :

SET @cmd = 'BULK INSERT dbo.vw_RPT_TBL_Bulk_Staging FROM '''+ @FullFilePath + 
      '''WITH(FIRSTROW = 1,FIELDTERMINATOR = '','',ROWTERMINATOR=''\n'',TABLOCK)' 
EXEC (@cmd) 

이가되어

나는 다음과 같습니다 쉼표로 구분 된 데이터로 .txt 파일이 테이블 구조 :

enter image description here.

실행 후 모든 것이 한 행에 있습니다.

파일의 모든 내용을 표에 삽입해야 파일의 각 줄이 별도의 행에 표시됩니다. 나중에 데이터를 추출하여 특정 조건에 따라 다른 테이블로 옮겨야합니다.

데이터를 올바르게 삽입하려면 어떻게해야합니까?

답변

0

ROWTERMINATOR이 잘못 설정되었을 수 있습니다. 이 시도 :

SET @cmd = 'BULK INSERT dbo.vw_RPT_TBL_Bulk_Staging FROM '''+ @FullFilePath + 
      '''WITH(FIRSTROW = 1,FIELDTERMINATOR = '','',ROWTERMINATOR=''\r\n'',TABLOCK)' 
EXEC (@cmd) 
+0

아니로 변경하여 고정 작동하지 않았다. 스테이징 테이블에 대한 열을 정의하는 것이 이치에 맞습니까? – gene

+0

SQL이 'ROWTERMINATOR'로 실행되지 않으므로 모든 행이 하나의 행에 들어갑니다. 16 진수 편집기를 사용하여 소스 파일을 열어 행의 끝을 알리는 문자가 무엇인지 알아 냈습니다. –

+0

줄 끝 부분에 LF 만 있습니다. – gene

0

나는 ROWTERMINATOR = ''0x0a ''