잠시 동안 조사 중이며 계속 벽돌 벽에 부딪 치고 있습니다. xls 파일에서 OpenRowset 명령을 통해 임시 테이블로 가져옵니다. 이제 특정 열을 가져 오기 위해 범위 값이 있지만 가장 일반적인 문제는 다음과 같습니다. 긴 숫자로 구성된 열은 15598이고 일부 열은 문자열 (예 : 15598-E)입니다.TSQL의 OpenRowSet 명령이 NULL을 반환 중입니다.
이제 openrowset은 문자열 버전을 아무런 문제없이 읽지 만 숫자 버전은 NULL로보고합니다. openrowset에 그 문제가 있고 저자가 "HDR = YES; IMEX = 1"을 쿼리 문자열에 구현한다고 말하면서 (http://www.sqldts.com/254.aspx) 읽었지만 전혀 작동하지 않습니다.
혹시이 모든 문제가 발생 했습니까?
몇 가지 추가 정보가 있습니다. 나는 JET 엔진 (Microsoft.Jet.OLEDB.4.0)이 작업을 수행 할 수 없습니다 그래서 이것은처럼 내 쿼리 모습입니다 : 우리는 같은 문제에 걸쳐 왔어요
SELECT *
FROM
OPENROWSET('MSDASQL'
, 'Driver=Microsoft Excel Driver (*.xls);HDR=YES;IMEX=1;DBQ=C:\ImportFile.xls;'
, 'SELECT * FROM [Sheet1$]')
이제 ETL 사람들이 수입을 위해 Excel을 싫어하는 이유를 알았습니다! – HLGEM