다음 SQL을 사용하여 Excel에서 데이터를 읽지 만 처음에는 여러 행을 건너 뛸 때가 있습니다. 예를 들어 실제 데이터는 5 행에서 시작하므로 첫 번째 4 행은 건너 뛸 필요가 있습니다.openrowset for excel : 여러 행을 건너 뛸 수 있습니까?
SELECT *
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
'Excel 12.0;HDR=YES;Database=c:\daniel\test.xls',
'SELECT * FROM [sheet1$]');
ETL 프로세스가 row_number()를 수행하는 속도를 늦 춥니 다. 그리고 SQL 서버가 병렬로 데이터를로드 할 수 있는지 여부를 확신 할 수 없으므로 rownum이 파일의 위치를 반사하지 못하게됩니다. 예를 들어 스레드 1은 처음 100 행을로드하고 스레드 2는 두 번째 100 행을로드 할 수 있습니다. 두 번째 100 행이 먼저 데이터베이스에로드되었습니다. –
@ 대니얼 우 : 그래서 우리가 무엇을 얻었습니까? 순서가 지정된 ROW_NUMBER 일 경우 처리 속도가 느려질 가능성이 큽니다 (예). 그리고 순서가 지정되지 않은 행은 Excel 시트의 실제 행 순서와 다르게 행 번호를 할당 할 가능성이 큽니다. 그래서이 상황에서 제 대답은 거의 완전히 쓰레기가됩니다. 미안하지만 당분간 당신을위한 옵션이 부족한 것 같습니다. 이 경우에만 : 원래 엑셀 문서의 행 번호를 매길 수 있습니까? 즉, 실제 행 번호를 나타내는 값이있는 열을 추가하여 SQL에서 필터 할 수 있습니다. –