다음을 통해 공유


Excel 연결 관리자

적용 대상: SQL Server Azure Data Factory의 SSIS Integration Runtime

Excel 연결 관리자를 사용하면 패키지에서 Microsoft Excel 통합 문서 파일에 연결할 수 있습니다. Microsoft SQL Server Integration Services에 포함된 Excel 원본 및 Excel 대상은 Excel 연결 관리자를 사용합니다.

Important

Excel 파일 연결 및 Excel 파일에서 데이터를 로드할 때 제한 사항 및 알려진 문제에 대한 자세한 내용은 SSIS(SQL Server Integration Services)를 통해 Excel로 데이터 로드를 참조하세요.

패키지에 Excel 연결 관리자를 추가하면 Integration Services에서 런타임 시 Excel 연결로 확인되는 연결 관리자를 만들고, 연결 관리자 속성을 설정하고, 연결 관리자를 패키지의 연결 컬렉션에 추가합니다.

연결 관리자의 ConnectionManagerType 속성이 EXCEL로 설정됩니다.

Excel 연결 관리자 구성

Excel 연결 관리자는 다음과 같은 방법으로 구성할 수 있습니다.

  • Excel 통합 문서 파일의 경로를 지정합니다.

  • 파일을 만드는 데 사용된 Excel 버전을 지정합니다.

  • 선택한 워크시트 또는 범위에서 첫 행에 열 이름이 포함되는지 여부를 나타냅니다.

SSIS 디자이너를 사용하거나 프로그래밍 방식으로 속성을 설정할 수 있습니다.

SSIS 디자이너에서 설정할 수 있는 속성에 대한 자세한 내용은 Excel 연결 관리자 편집기를 참조하세요.

연결 관리자를 프로그래밍 방식으로 구성하는 방법에 대한 자세한 내용은 ConnectionManager프로그래밍 방식으로 연결 추가를 참조하세요.

Excel 연결 관리자 편집기

Excel 연결 관리자 편집기 대화 상자를 사용하여 기존 또는 새 Microsoft Excel 통합 문서 파일에 대한 연결을 추가합니다.

옵션

Excel 파일 경로
기존 또는 새 Excel 통합 문서 파일의 경로 및 파일 이름을 입력합니다.

찾아보기
열기 대화 상자를 사용하여 Excel 파일이 있거나 새 파일을 만들 폴더로 이동합니다.

Excel 버전
파일을 만드는 데 사용된 Microsoft Excel 버전을 지정합니다.

첫 행에 열 이름 포함
선택한 워크시트의 첫 번째 데이터 행에 열 이름을 포함할지 여부를 지정합니다. 이 옵션의 기본값은 True입니다.

Excel에서 혼합 데이터 형식의 데이터를 가져오는 솔루션

혼합 데이터 형식의 데이터를 사용하는 경우 기본적으로 Excel 드라이버는 처음 8개 행(TypeGuessRows 레지스터 키로 구성)을 읽습니다. 처음 8개의 데이터 행을 기반으로 Excel 드라이버는 각 열의 데이터 형식을 추측하려고 합니다. 예를 들어 Excel 데이터 원본에 한 열에 숫자와 텍스트가 있는 경우 처음 8개 행에 숫자가 포함되어 있으면 드라이버는 열의 데이터가 정수 형식임을 처음 8개 행에 따라 결정할 수 있습니다. 이 경우 SSIS는 텍스트 값을 건너뛰고 NULL로 대상으로 가져옵니다.

이 문제를 해결하기 위해 다음 해결 방법 중 하나를 시도할 수 있습니다.

  • Excel 파일에서 Excel 열 형식을 텍스트로 변경합니다.

  • IMEX 확장 속성을 연결 문자열에 추가하여 드라이버의 기본 동작을 재정의합니다. ";IMEX=1" 확장 속성을 연결 문자열 끝에 추가하면 Excel에서 모든 데이터를 텍스트로 처리합니다. 다음 예제를 참조하십시오.

    Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\ExcelFileName.xlsx;Extended Properties="EXCEL 12.0 XML;HDR=YES;IMEX=1";
    

    이 해결 방법이 안정적으로 작동하려면 레지스트리 설정을 수정해야 할 수도 있습니다. main.cmd 파일은 다음과 같습니다.

    reg add "HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Office\12.0\Access Connectivity Engine\Engines\Excel" /t REG_DWORD /v TypeGuessRows /d 0 /f
    reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\Access Connectivity Engine\Engines\Excel" /t REG_DWORD /v TypeGuessRows /d 0 /f
    reg add "HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Office\14.0\Access Connectivity Engine\Engines\Excel" /t REG_DWORD /v TypeGuessRows /d 0 /f
    reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\14.0\Access Connectivity Engine\Engines\Excel" /t REG_DWORD /v TypeGuessRows /d 0 /f
    reg add "HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Office\15.0\Access Connectivity Engine\Engines\Excel" /t REG_DWORD /v TypeGuessRows /d 0 /f
    reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\15.0\Access Connectivity Engine\Engines\Excel" /t REG_DWORD /v TypeGuessRows /d 0 /f
    reg add "HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Office\16.0\Access Connectivity Engine\Engines\Excel" /t REG_DWORD /v TypeGuessRows /d 0 /f
    reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\16.0\Access Connectivity Engine\Engines\Excel" /t REG_DWORD /v TypeGuessRows /d 0 /f
    
  • CSV 형식으로 파일을 저장하고 CSV 가져오기를 지원하도록 SSIS 패키지를 변경합니다.

SSIS(SQL Server Integration Services)를 사용하여 Excel에서 또는 Excel로 데이터 로드
Excel 원본
Excel 대상