SSIS(SQL Server Integration Services)를 사용하여 Excel에서 데이터 가져오기 또는 Excel로 데이터 내보내기Import data from Excel or export data to Excel with SQL Server Integration Services (SSIS)

적용 대상: 예SQL Server(Linux용 포함) 예Azure SQL Database 예Azure Synapse Analytics(SQL DW) 아니요병렬 데이터 웨어하우스APPLIES TO: yesSQL Server, including on Linux yesAzure SQL Database yesAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

이 문서에서는 SSIS(SQL Server Integration Services)를 통해 Excel에서 데이터를 가져오거나 Excel로 데이터를 내보내기 위해 제공해야 하는 연결 정보와 구성해야 하는 설정을 설명합니다.This article describes the connection information that you have to provide, and the settings that you have to configure, to import data from Excel or export data to Excel with SQL Server Integration Services (SSIS).

다음 섹션에는 SSIS에서 Excel을 성공적으로 사용하고 일반적인 문제를 이해하고 해결하는 데 필요한 정보가 포함되어 있습니다.The following sections contain the information you need to use Excel successfully with SSIS, and to understand and troubleshoot common problems:

  1. 사용할 수 있는 도구.The tools you can use.

  2. 필요한 파일.The files you need.

  3. SSIS를 사용하여 Excel 간에 데이터를 로드할 때 제공해야 하는 연결 정보 및 구성해야 하는 설정입니다.The connection information that you have to provide, and the settings that you have to configure, when you load data from or to Excel with SSIS.

  4. 알려진 문제 및 제한 사항입니다.Known issues and limitations.

사용할 수 있는 도구Tools you can use

다음 도구 중 하나를 사용하여 SSIS를 통해 Excel에서 데이터를 가져오거나 Excel로 데이터를 내보낼 수 있습니다.You can import data from Excel or export data to Excel with SSIS by using one of the following tools:

Excel에 연결하는 데 필요한 파일 가져오기 Get the files you need to connect to Excel

SSIS를 사용하여 Excel에서 데이터를 가져오거나 Excel로 데이터를 내보내려면 Excel용 연결 구성 요소가 설치되어 있지 않은 경우 먼저 다운로드해야 합니다.Before you can import data from Excel or export data to Excel with SSIS, you may have to download the connectivity components for Excel if they're not already installed. Excel용 연결 구성 요소는 기본적으로 설치되어 있지 않습니다.The connectivity components for Excel are not installed by default.

Excel용 연결 구성 요소의 최신 버전을 다음에서 다운로드합니다. Microsoft Access 데이터베이스 엔진 2016 재배포 가능 패키지.Download the latest version of the connectivity components for Excel here: Microsoft Access Database Engine 2016 Redistributable. 최신 버전 구성 요소는 이전 버전의 Excel에서 만든 파일을 열 수 있습니다.The latest version of the components can open files created by earlier versions of Excel.

다운로드 및 설치에 대한 참고Notes about the download and installation

  • Microsoft Access 2016 런타임이 아닌 Access 데이터베이스 엔진 2016 재배포 가능 패키지를 다운로드해야 합니다.Make sure that you download the Access Database Engine 2016 Redistributable and not the Microsoft Access 2016 Runtime.

  • 컴퓨터에 32비트 버전의 Office가 이미 설치되어 있는 경우 32비트 버전의 구성 요소를 설치해야 합니다.If the computer already has a 32-bit version of Office, then you have to install the 32-bit version of the components. 또한 32비트 모드에서 SSIS 패키지를 실행하거나 가져오기 및 내보내기 마법사의 32비트 버전을 실행하는지 확인해야 합니다.You also have to ensure that you run the SSIS package in 32-bit mode, or run the 32-bit version of the Import and Export Wizard.

  • Office 365 구독이 있는 경우 설치 관리자를 실행할 때 오류 메시지가 나타날 수 있습니다.If you have an Office 365 subscription, you may see an error message when you run the installer. 오류는 Office 간편 실행 구성 요소와 함께 다운로드를 설치할 수 없음을 나타냅니다.The error indicates that you can't install the download side by side with Office click-to-run components. 이 오류 메시지를 무시하려면 명령 프롬프트 창을 열고 /quiet 스위치를 통해 다운로드한 .EXE 파일을 실행하여 자동 모드에서 설치를 실행합니다.To bypass this error message, run the installation in quiet mode by opening a Command Prompt window and running the .EXE file that you downloaded with the /quiet switch. 예를 들어For example:

    C:\Users\<user_name>\Downloads\AccessDatabaseEngine.exe /quiet

    2016 재배포 가능 패키지를 설치하는 데 문제가 있는 경우 다음에서 2010 재배포 가능 패키지를 대신 설치합니다. Microsoft Access 데이터베이스 엔진 2010 재배포 가능 패키지.If you have trouble installing the 2016 redistributable, install the 2010 redistributable instead from here: Microsoft Access Database Engine 2010 Redistributable. (Excel 2013용 재배포 가능 패키지는 없습니다.)(There is no redistributable for Excel 2013.)

Excel을 데이터 원본으로 지정Specify Excel as your data source

첫 번째 단계는 Excel에 연결하려 함을 나타내는 것입니다.The first step is to indicate that you want to connect to Excel.

SSIS에서In SSIS

SSIS에서 Excel 연결 관리자를 만들어 Excel 원본 또는 대상 파일에 연결합니다.In SSIS, create an Excel Connection Manager to connect to the Excel source or destination file. 다음과 같은 여러 가지 방법으로 연결 관리자를 만들 수 있습니다.There are several ways to create the connection manager:

  • 연결 관리자 영역에서 마우스 오른쪽 단추를 클릭하고 새 연결을 선택합니다.In the Connection Managers area, right-click and select New connection. SSIS 연결 관리자 추가 대화 상자에서 EXCEL을 선택한 다음, 추가를 선택합니다.In the Add SSIS Connection Manager dialog box, select EXCEL and then Add.

  • SSIS 메뉴에서 새 연결을 선택합니다.On the SSIS menu, select New connection. SSIS 연결 관리자 추가 대화 상자에서 EXCEL을 선택한 다음, 추가를 선택합니다.In the Add SSIS Connection Manager dialog box, select EXCEL and then Add.

  • 동시에 Excel 원본 편집기 또는 Excel 대상 편집기연결 관리자 페이지에서 Excel 원본 또는 Excel 대상을 구성하는 연결 관리자를 만듭니다.Create the connection manager at the same time that you configure the Excel Source or the Excel Destination on the Connection manager page of the Excel Source Editor or of the Excel Destination Editor.

SQL Server 가져오기 및 내보내기 마법사에서In the SQL Server Import and Export Wizard

가져오기 및 내보내기 마법사의 데이터 원본 선택 또는 대상 선택 페이지에서 데이터 원본 목록의 Microsoft Excel을 선택합니다.In the Import and Export Wizard, on the Choose a Data Source or Choose a Destination page, select Microsoft Excel in the Data source list.

데이터 원본의 목록에서 Excel이 표시되지 않는 경우 32비트 마법사를 실행하고 있는지 확인합니다.If you don't see Excel in the list of data sources, make sure you're running the 32-bit wizard. Excel 연결 구성 요소는 일반적으로 32비트 파일이며 64비트 마법사에는 표시되지 않습니다.The Excel connectivity components are typically 32-bit files and aren't visible in the 64-bit wizard.

Excel 파일 및 파일 경로 Excel file and file path

제공할 정보의 첫 번째 부분은 Excel 파일에 대한 경로 및 파일 이름입니다.The first piece of info to provide is the path and file name for the Excel file. 이 정보는 SSIS 패키지의 Excel 연결 관리자 편집기나 가져오기 및 내보내기 마법사의 데이터 원본 선택 또는 대상 선택 페이지에서 입력합니다.You provide this info in the Excel Connection Manager Editor in an SSIS package, or on the Choose a Data Source or Choose a Destination page of the Import and Export Wizard.

다음과 같은 형식의 경로 및 파일 이름을 입력합니다.Enter the path and file name in the following format:

  • 로컬 컴퓨터의 파일은 C:\TestData.xlsx입니다.For a file on the local computer, C:\TestData.xlsx.

  • 네트워크 공유의 파일은 \\Sales\Data\TestData.xlsx입니다.For a file on a network share, \\Sales\Data\TestData.xlsx.

또는 찾아보기를 클릭하고 열기 대화 상자를 사용하여 스프레드시트를 찾습니다.Or, click Browse to locate the spreadsheet by using the Open dialog box.

중요

암호로 보호된 Excel 파일에는 연결할 수 없습니다.You can't connect to a password-protected Excel file.

Excel 버전Excel version

제공할 정보의 두 번째 부분은 Excel 파일의 버전입니다.The second piece of info to provide is the version of the Excel file. 이 정보는 SSIS 패키지의 Excel 연결 관리자 편집기나 가져오기 및 내보내기 마법사의 데이터 원본 선택 또는 대상 선택 페이지에서 입력합니다.You provide this info in the Excel Connection Manager Editor in an SSIS package, or on the Choose a Data Source or Choose a Destination page of the Import and Export Wizard.

파일을 만드는 데 사용된 Microsoft Excel의 버전 또는 다른 호환 가능한 버전을 선택합니다.Select the version of Microsoft Excel that was used to create the file, or another compatible version. 예를 들어 2016 연결 구성 요소를 설치하는 데 문제가 있으면 2010 구성 요소를 설치하고 목록에서 Microsoft Excel 2007-2010을 선택할 수 있습니다.For example, if you had trouble installing the 2016 connectivity components, you can install the 2010 components and select Microsoft Excel 2007-2010 in this list.

이전 버전의 연결 구성 요소가 설치되어 있는 경우 목록에서 최신 버전의 Excel 버전을 선택하지 못할 수도 있습니다.You may not be able to select newer Excel versions in the list if you only have older versions of the connectivity components installed. Excel 버전 목록에는 SSIS가 지원하는 모든 버전의 Excel이 포함됩니다.The Excel version list includes all the versions of Excel supported by SSIS. 이 목록에 포함되었다고 해서 필요한 구성 요소가 설치되었다는 뜻은 아닙니다.The presence of items in this list does not indicate that the required connectivity components are installed. 예를 들어 2016 연결 구성 요소를 설치하지 않은 경우에도 Microsoft Excel 2016이 목록에 표시됩니다.For example, Microsoft Excel 2016 appears in the list even if you have not installed the 2016 connectivity components.

첫 번째 행에 열 이름 포함First row has column names

Excel에서 데이터를 가져오는 경우 다음 단계는 데이터의 첫 번째 행에 열 이름을 포함할지 여부를 나타내는 것입니다.If you're importing data from Excel, the next step is to indicate whether the first row of the data contains column names. 이 정보는 SSIS 패키지의 Excel 연결 관리자 편집기나 가져오기 및 내보내기 마법사의 데이터 원본 선택 페이지에서 입력합니다.You provide this info in the Excel Connection Manager Editor in an SSIS package, or on the Choose a Data Source page of the Import and Export Wizard.

  • 원본 데이터에 열 이름이 포함되어 있지 않아 이 옵션이 비활성화되어 있는 경우 마법사는 F1, F2 등을 열 제목으로 사용합니다.If you disable this option because the source data doesn't contain column names, the wizard uses F1, F2, and so forth, as column headings.
  • 데이터에 열 이름이 포함되어 있지만 이 옵션을 비활성화한 경우 마법사는 열 이름을 데이터의 첫 번째 행으로 가져옵니다.If the data contains column names, but you disable this option, the wizard imports the column names as the first row of data.
  • 데이터에 열 이름이 포함되어 있지 않은데 이 옵션을 활성화한 경우 마법사는 원본 데이터의 첫 번째 행을 열 이름으로 사용합니다.If the data does not contain column names, but you enable this option, the wizard uses the first row of source data as the column names. 이 경우 원본 데이터의 첫 번째 행은 더 이상 데이터 자체에 포함되지 않습니다.In this case, the first row of source data is no longer included in the data itself.

Excel에서 데이터를 내보내고 이 옵션을 활성화한 경우 내보내는 데이터의 첫 번째 행은 열 이름을 포함합니다.If you're exporting data from Excel, and you enable this option, the first row of exported data includes the column names.

워크시트 및 범위Worksheets and ranges

데이터에 대해 데이터 원본이나 대상으로 사용할 수 있는 Excel 개체의 유형에는 워크시트, 명명된 된 범위 또는 해당 주소로 지정한 셀의 명명되지 않은 영역, 이렇게 세 가지가 있습니다.There are three types of Excel objects that you can use as the source or destination for your data: a worksheet, a named range, or an unnamed range of cells that you specify with its address.

  • 워크시트.Worksheet. 워크시트를 지정하려면 시트 이름 끝에 $ 문자를 추가하고 문자열 주위에 구분 기호를 추가합니다(예: [Sheet1$] ).To specify a worksheet, append the $ character to the end of the sheet name and add delimiters around the string - for example, [Sheet1$]. 또는 기존 테이블 및 뷰 목록에서 $ 문자로 끝나는 이름을 찾습니다.Or, look for a name that ends with the $ character in the list of existing tables and views.

  • 명명된 범위.Named range. 명명된 범위를 지정하려면 범위 이름을 제공합니다(예: MyDataRange).To specify a named range, provide the range name - for example, MyDataRange. 또는 기존 테이블 및 뷰 목록에서 $ 문자로 끝나지 않는 이름을 찾습니다.Or, look for a name that does not end with the $ character in the list of existing tables and views.

  • 명명되지 않은 범위.Unnamed range. 명명하지 않은 셀의 범위를 지정하려면 시트 이름 끝에 $ 문자를 추가하고 문자열 주위에 구분 기호를 추가합니다(예: [Sheet1$A1:B4] ).To specify a range of cells that you haven't named, append the $ character to the end of the sheet name, add the range specification, and add delimiters around the string - for example, [Sheet1$A1:B4].

데이터에 대해 원본 또는 대상으로 사용하려는 Excel 개체의 유형을 선택하거나 지정하려면 다음 작업 중 하나를 수행합니다.To select or specify the type of Excel object that you want to use as the source or destination for your data, do one of the following things:

SSIS에서In SSIS

SSIS에서 Excel 원본 편집기 또는 Excel 대상 편집기연결 관리자 페이지에서 다음 작업 중 하나를 수행합니다.In SSIS, on the Connection manager page of the Excel Source Editor or of the Excel Destination Editor, do one of the following things:

  • 워크시트 또는 명명된 범위를 사용하려면 테이블 또는 뷰데이터 액세스 모드로 선택합니다.To use a worksheet or a named range, select Table or view as the Data access mode. 그런 다음, Excel 시트의 이름 목록에서 워크시트 또는 명명된 범위를 선택합니다.Then, in the Name of the Excel sheet list, select the worksheet or named range.

  • 해당 주소를 사용하여 지정한 명명되지 않은 범위를 사용하려면 SQL 명령데이터 액세스 모드로 선택합니다.To use an unnamed range that you specify with its address, select SQL command as the Data access mode. 그런 다음, SQL 명령 텍스트 필드에 다음 예제와 같은 쿼리를 입력합니다.Then, in the SQL command text field, enter a query like the following example:

    SELECT * FROM [Sheet1$A1:B5]
    

SQL Server 가져오기 및 내보내기 마법사에서In the SQL Server Import and Export Wizard

가져오기 및 내보내기 마법사에서 다음 작업 중 하나를 수행합니다.In the Import and Export Wizard, do one of the following things:

  • Excel에서 가져올 경우 다음 작업 중 하나를 수행합니다.When you're importing from Excel, do one of the following things:

    • 워크시트 또는 명명된 범위를 사용하려면 테이블 복사 또는 쿼리 지정 페이지에서 하나 이상의 테이블 또는 뷰에서 데이터 복사를 선택합니다.To use a worksheet or a named range, on the Specify table copy or query page, select Copy data from one or more tables or views. 그런 다음, 원본 테이블 및 뷰 선택 페이지에 있는 원본 열에서 원본 워크시트 및 명명된 범위를 선택합니다.Then, on the Select Source Tables and Views page, in the Source column, select the source worksheets and named ranges.

    • 해당 주소를 사용하여 지정한 명명되지 않은 범위를 사용하려면 테이블 복사 또는 쿼리 지정 페이지에서 쿼리를 작성하여 전송할 데이터 지정을 선택합니다.To use an unnamed range that you specify with its address, on the Specify table copy or query page, select Write a query to specify the data to transfer. 그런 다음, 원본 쿼리 입력 페이지에서 다음 예제와 비슷한 쿼리를 입력합니다.Then, on the Provide a Source Query page, provide a query similar to the following example:

      SELECT * FROM [Sheet1$A1:B5]
      
  • Excel로 내보낼 경우 다음 작업 중 하나를 수행합니다.When you're exporting to Excel, do one of the following things:

    • 워크시트 또는 명명된 범위를 사용하려면 원본 테이블 및 뷰 선택 페이지에 있는 대상 열에서 대상 워크시트 및 명명된 범위를 선택합니다.To use a worksheet or a named range, on the Select Source Tables and Views page, in the Destination column, select the destination worksheets and named ranges.

    • 해당 주소를 사용하여 지정한 명명되지 않은 범위를 사용하려면 원본 테이블 및 뷰 선택 페이지에 있는 대상 열에서 구분 기호 없이 다음 형식으로 범위를 입력합니다. Sheet1$A1:B5To use an unnamed range that you specify with its address, on the Select Source Tables and Views page, in the Destination column, enter the range in the following format without delimiters: Sheet1$A1:B5. 마법사에서 구분 기호를 추가합니다.The wizard adds the delimiters.

가져오거나 내보낼 Excel 개체를 선택하거나 입력한 후에, 마법사의 원본 테이블 및 뷰 선택 페이지에서 다음과 같은 작업을 수행할 수 있습니다.After you select or enter the Excel objects to import or export, you can also do the following things on the Select Source Tables and Views page of the wizard:

  • 매핑 편집을 선택하여 원본과 대상 간에 열 매핑을 검토합니다.Review column mappings between source and destination by selecting Edit Mappings.

  • 미리 보기를 선택하여 예상 대로 표시되는지 샘플 데이터를 미리 봅니다.Preview sample data to make sure it's what you expect by selecting Preview.

데이터 형식 문제Issues with data types

데이터 형식Data types

Excel 드라이버는 제한된 데이터 형식 집합만 인식합니다.The Excel driver recognizes only a limited set of data types. 예를 들어 모든 숫자 열은 double(DT_R8)로 해석되고 모든 문자열 열(메모 열 제외)은 255자 유니코드 문자열(DT_WSTR)로 해석됩니다.For example, all numeric columns are interpreted as doubles (DT_R8), and all string columns (other than memo columns) are interpreted as 255-character Unicode strings (DT_WSTR). SSIS에서는 Excel 데이터 형식을 다음과 같이 매핑합니다.SSIS maps the Excel data types as follows:

  • 숫자 - 배정밀도 부동 소수점 수(DT_R8)Numeric - double-precision float (DT_R8)

  • 통화 - currency(DT_CY)Currency - currency (DT_CY)

  • 부울 - Boolean(DT_BOOL)Boolean - Boolean (DT_BOOL)

  • 날짜/시간 - datetime(DT_DATE)Date/time - datetime (DT_DATE)

  • 문자열 - 길이가 255인 유니코드 문자열(DT_WSTR)String - Unicode string, length 255 (DT_WSTR)

  • 메모 - 유니코드 텍스트 스트림(DT_NTEXT)Memo - Unicode text stream (DT_NTEXT)

데이터 형식 및 길이 변환Data type and length conversions

SSIS에서는 데이터 형식을 암시적으로 변환하지 않습니다.SSIS does not implicitly convert data types. 따라서 파생 열 전환이나 데이터 변환을 사용하여 Excel 데이터를 비 Excel 대상으로 로드하기 전에 명시적으로 변환하거나 비 Excel 데이터를 Excel 대상으로 로드하기 전에 변환해야 할 수 있습니다.As a result, you may have to use Derived Column or Data Conversion transformations to convert Excel data explicitly before loading it into a destination other than Excel, or to convert data from a source other than Excel before loading it into an Excel destination.

필요할 수 있는 일부 변환 예는 다음과 같습니다.Here are some examples of the conversions that may be required:

  • 유니코드 Excel 문자열 열과 특정 코드 페이지가 있는 비유니코드 문자열 열 간 변환Conversion between Unicode Excel string columns and non-Unicode string columns with specific codepage.

  • 255자 Excel 문자열 열과 길이가 다른 문자열 열 간 변환Conversion between 255-character Excel string columns and string columns of different lengths.

  • 배정밀도 Excel 숫자 열과 다른 유형의 숫자 열 간 변환Conversion between double-precision Excel numeric columns and numeric columns of other types.

가져오기 및 내보내기 마법사를 사용하고 이러한 변환의 일부가 필요한 데이터의 경우 마법사에서 필요한 변환을 구성합니다.If you're using the Import and Export Wizard, and your data requires some of these conversions, the wizard configures the necessary conversions for you. 결과적으로, SSIS 패키지를 사용하려는 경우에도 가져오기 및 내보내기 마법사를 사용하여 초기 패키지를 만드는 데 유용할 수 있습니다.As a result, even when you want to use an SSIS package, it may be useful to create the initial package by using the Import and Export Wizard. 마법사에서 사용자를 위해 연결 관리자, 원본, 변환 및 대상을 만들고 구성합니다.Let the wizard create and configure connection managers, sources, transformations, and destinations for you.

가져오기 문제Issues with importing

빈 행Empty rows

워크시트 또는 명명된 범위를 원본으로 지정하면 드라이버는 워크시트 또는 범위의 가장 왼쪽에서 비어 있지 않은 첫 번째 셀부터 인접한 블록의 셀을 읽습니다.When you specify a worksheet or a named range as the source, the driver reads the contiguous block of cells starting with the first non-empty cell in the upper-left corner of the worksheet or range. 결과적으로, 데이터가 행 1에서 시작하지 않아도 되지만 원본 데이터에 빈 행을 둘 수 없습니다.As a result, your data doesn't have to start in row 1, but you can't have empty rows in the source data. 예를 들어 열 제목과 데이터 행 사이에 빈 행을 두거나 워크시트의 맨 위에서 제목 뒤에 빈 행을 둘 수 없습니다.For example, you can't have an empty row between the column headers and the data rows, or a title followed by empty rows at the top of the worksheet.

데이터 위에 행이 빈 경우 워크시트로 데이터를 쿼리할 수 없습니다.If there are empty rows above your data, you can't query the data as a worksheet. Excel에서 데이터의 범위를 선택하고 범위에 이름을 할당한 다음, 워크시트 대신 명명된 범위를 쿼리해야 합니다.In Excel, you have to select your range of data and assign a name to the range, and then query the named range instead of the worksheet.

누락된 값Missing values

Excel 드라이버는 지정한 원본에서 특정 개수의 행(기본값: 8행)을 읽어 각 열의 데이터 형식을 추측합니다.The Excel driver reads a certain number of rows (by default, eight rows) in the specified source to guess at the data type of each column. 열에 혼합된 데이터 형식, 특히 숫자 데이터와 텍스트 데이터가 혼합되어 있으면 드라이버는 주로 사용된 데이터 형식을 지정하고 다른 형식의 데이터가 포함된 셀에 Null 값을 반환합니다.When a column appears to contain mixed data types, especially numeric data mixed with text data, the driver decides in favor of the majority data type, and returns null values for cells that contain data of the other type. 사용된 횟수가 같은 경우에는 숫자 유형이 적용됩니다. Excel 워크시트에서 대부분의 셀 서식 옵션은 이러한 데이터 형식 결정에 영향을 주지 않습니다.(In a tie, the numeric type wins.) Most cell formatting options in the Excel worksheet do not seem to affect this data type determination.

모든 값을 텍스트로 가져오도록 가져오기 모드를 지정하여 Excel 드라이버의 이러한 동작을 수정할 수 있습니다.You can modify this behavior of the Excel driver by specifying Import Mode to import all values as text. 가져오기 모드를 지정하려면 속성 창에서 Excel 연결 관리자의 연결 문자열에 있는 확장 속성 값에 IMEX=1을 추가합니다.To specify Import Mode, add IMEX=1 to the value of Extended Properties in the connection string of the Excel connection manager in the Properties window.

잘린 텍스트Truncated text

Excel 열에 텍스트 데이터가 포함되어 있음이 확인되면 드라이버는 샘플링하는 값 중 가장 긴 값을 기준으로 데이터 형식(문자열 또는 메모)을 선택합니다.When the driver determines that an Excel column contains text data, the driver selects the data type (string or memo) based on the longest value that it samples. 샘플링하는 행에서 255자보다 긴 값이 검색되지 않으면 이 드라이버는 해당 열을 메모 열이 아닌 255자 문자열 열로 처리합니다.If the driver does not discover any values longer than 255 characters in the rows that it samples, it treats the column as a 255-character string column instead of a memo column. 따라서 255자보다 긴 값은 잘릴 수 있습니다.Therefore, values longer than 255 characters may be truncated.

잘림 없이 메모 열에서 데이터를 가져오려면 두 가지 옵션이 있습니다.To import data from a memo column without truncation, you have two options:

  • 샘플링된 행 중 하나 이상의 메모 열에 255자보다 긴 값이 포함되어 있는지 확인합니다.Make sure that the memo column in at least one of the sampled rows contains a value longer than 255 characters

  • 이러한 행을 포함하도록 드라이버에서 샘플링된 행 수를 늘립니다.Increase the number of rows sampled by the driver to include such a row. 다음과 같은 레지스트리 키에서 TypeGuessRows 값을 늘려 샘플링할 행 수를 늘릴 수 있습니다.You can increase the number of rows sampled by increasing the value of TypeGuessRows under the following registry key:

재배포 가능 구성 요소 버전Redistributable components version 레지스트리 키Registry key
Excel 2016Excel 2016 HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Office\16.0\Access Connectivity Engine\Engines\ExcelHKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Office\16.0\Access Connectivity Engine\Engines\Excel
Excel 2010Excel 2010 HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Office\14.0\Access Connectivity Engine\Engines\ExcelHKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Office\14.0\Access Connectivity Engine\Engines\Excel

내보내기 문제Issues with exporting

새 대상 파일 만들기Create a new destination file

SSIS에서In SSIS

만들려는 새 Excel 파일의 경로 및 파일 이름으로 Excel 연결 관리자를 만듭니다.Create an Excel Connection Manager with the path and file name of the new Excel file that you want to create. 그런 다음, Excel 대상 편집기에서 Excel 시트의 이름에 대해 새로 만들기를 선택하여 대상 워크시트를 만듭니다.Then, in the Excel Destination Editor, for Name of the Excel sheet, select New to create the destination worksheet. 이 시점에서 SSIS는 지정된 워크시트를 사용하여 새 Excel 파일을 만듭니다.At this point, SSIS creates the new Excel file with the specified worksheet.

SQL Server 가져오기 및 내보내기 마법사에서In the SQL Server Import and Export Wizard

대상 선택 페이지에서 찾아보기를 선택합니다.On the Choose a Destination page, select Browse. 열기 대화 상자에서 새 Excel 파일을 만들 폴더로 이동하고, 새 파일에 사용할 이름을 입력한 다음, 열기를 선택합니다.In the Open dialog box, navigate to the folder where you want the new Excel file to be created, provide a name for the new file, and then select Open.

충분히 큰 범위로 내보내기Export to a large enough range

대상으로 범위를 지정하는 경우 범위가 원본 데이터의 열 수보다 적으면 오류가 발생합니다.When you specify a range as the destination, an error occurs if the range has fewer columns than the source data. 단, 지정하는 범위가 원본 데이터의 행 수보다 적은 경우에는 마법사에서 오류 없이 행 쓰기를 계속하고 범위 정의를 새 행 수와 일치하도록 확장합니다.However, if the range that you specify has fewer rows than the source data, the wizard continues writing rows without error and extends the range definition to match the new number of rows.

긴 텍스트 값 내보내기Export long text values

255자보다 긴 문자열을 Excel 열에 저장하려면 드라이버에서 대상 열의 데이터 형식을 string 이 아닌 memo로 인식해야 합니다.Before you can successfully save strings longer than 255 characters to an Excel column, the driver must recognize the data type of the destination column as memo and not string.

  • 기존 대상 테이블에 이미 데이터 행이 포함된 경우 드라이버에서 샘플링하는 처음 몇 개 행의 메모 열에 255자보다 긴 값의 인스턴스가 하나 이상 포함되어야 합니다.If an existing destination table already contains rows of data, then the first few rows that are sampled by the driver must contain at least one instance of a value longer than 255 characters in the memo column.

  • 패키지를 디자인하는 동안, 런타임 시 또는 가져오기 및 내보내기 마법사에 의해 새 대상 테이블을 만드는 경우 CREATE TABLE 문은 대상 메모 열의 데이터 형식으로 LONGTEXT(또는 해당 동의어 중 하나)를 사용해야 합니다.If a new destination table is created during package design or at run time or by the Import and Export Wizard, then the CREATE TABLE statement must use LONGTEXT (or one of its synonyms) as the data type of the destination memo column. 마법사에서 필요한 경우 열 매핑 페이지의 대상 테이블 만들기 옵션 옆에 있는 SQL 편집을 클릭하여 CREATE TABLE 문을 확인하고 수정합니다.In the wizard, check the CREATE TABLE statement and revise it, if necessary, by clicking Edit SQL next to the Create destination table option on the Column Mappings page.

이 문서에 설명된 구성 요소와 절차에 대한 자세한 내용은 다음 문서를 참조하세요.For more information about the components and procedures described in this article, see the following articles:

SSIS 정보About SSIS

Excel 연결 관리자Excel Connection Manager
Excel 원본Excel Source
Excel 대상Excel Destination
Foreach 루프 컨테이너를 사용하여 Excel 파일 및 테이블 루핑Loop through Excel Files and Tables by Using a Foreach Loop Container
스크립트 태스크를 사용한 Excel 파일 작업Working with Excel Files with the Script Task

SQL Server 가져오기 및 내보내기 마법사 정보About the SQL Server Import and Export Wizard

Excel 데이터 원본에 연결Connect to an Excel Data Source
가져오기 및 내보내기 마법사의 이 간단한 예제로 시작Get started with this simple example of the Import and Export Wizard

Excel에서 SQL Server 또는 Azure SQL Database로 데이터 가져오기Import data from Excel to SQL Server or Azure SQL Database