SSIS를 사용하여 텍스트 파일을 생성했습니다. 열 구분 기호 "| @; @ |"가 있습니다. rowdelimiter는 "\ r \ n | \ r \ n"입니다. "OpenRowSet"쿼리를 실행하여이 텍스트 파일에서 특정 열을 가져올 수 있습니까? 아래 사용자 지정 구분 기호가있는 OPENROWSET
내가SELECT a.* FROM OPENROWSET(BULK 'C:\temp\filename.txt',FORMATFILE = 'C:\temp\filename.fmt') AS a;
을 실행하기 위해 노력하고 쿼리와 처음 세 열은 다음과 같습니다 형식의 파일입니다. 때문에 여기에 모든 컬럼 데이터를 게시
12.0
32
1 SQLCHAR 0 21 "|@;@|" 1 DimSiteID ""
2 SQLCHAR 0 21 "|@;@|" 2 DimActivityID ""
3 SQLCHAR 0 128 "|@;@|" 3 ActivityCategoryCode Latin1_General_100_CS_AS_KS_WS_SC
내가 다음과 같이 오류가 발생하고 할 수없는 문자 제약 조건 :
4832 메시지, 수준 16, 상태 1, 줄 1 대량로드 : 데이터 파일에서 예상치 못한 파일 끝에 도달했습니다. 메시지 7399, 수준 16, 상태 1, 수준 1 "(null)"연결된 서버에 대한 OLE DB 공급자 "BULK"에서 오류가 발생했습니다. 공급자가 오류에 대한 정보를 제공하지 않았습니다. 메시지 7330, 수준 16, 상태 2, 줄 1 연결된 서버 "(null)"의 OLE DB 공급자 "BULK"에서 행을 가져올 수 없습니다.
csv 파일 및 테이블 열에서 열 아니오 불일치가 될 수이 문제에 대한 내 질문에
문제점은 원본 데이터 파일 (텍스트 파일)이 유니 코드라는 점입니다. 유니 코드 텍스트 파일로 작업하게하려면 openrowset 쿼리에 아무 것도 추가해야합니까? – Radhi
메모로 열기 ++ (모든 문자 모드 표시)와 columndelimiter가 올바른지 확인 –