다음을 통해 공유


SQL 마법사로 플랫 파일 가져오기

적용 대상: SQL Server Azure SQL Database Azure SQL Managed Instance

가져오기 및 내보내기 마법사에 대한 자세한 내용은 SQL Server 가져오기 및 내보내기 마법사를 사용하여 데이터 가져오기 및 내보내기를 참조하세요.

플랫 파일 가져오기 마법사는 플랫 파일(.csv, .txt)에서 데이터베이스의 새 테이블로 데이터를 복사하는 간단한 방법입니다. 플랫 파일 가져오기 마법사는 쉼표로 구분된 파일과 너비가 고정된 서식 파일을 모두 지원합니다. 이 개요에서는 이 마법사를 사용하는 이유, 이 마법사를 찾는 방법, 참조할 간단한 예제를 설명합니다.

이 마법사를 사용하는 이유

이 마법사는 PROSE(Program Synthesis using Examples)라고 하는 지능형 프레임워크를 활용하여 현재 가져오기 환경을 개선하기 위해 만들어졌습니다. 전문적인 도메인 지식이 없는 사용자의 경우 데이터를 가져오는 작업은 복잡하고 오류가 발생하기 쉬우며 지루한 작업이 될 수 있습니다. 이 마법사는 입력 파일 및 고유한 테이블 이름을 선택하는 것만큼 간단하게 가져오기 프로세스를 간소화하고 PROSE 프레임워크가 나머지를 처리합니다.

PROSE는 입력 파일의 데이터 패턴을 분석하여 열 이름, 형식, 구분 기호 등을 유추합니다. 이 프레임워크는 파일의 구조를 학습하고 사용자가 할 필요가 없도록 힘든 작업을 모두 수행합니다.

필수 조건

이 기능은 SSMS(SQL Server Management Studio) v17.3 이상에서 사용할 수 있습니다. 최신 버전을 사용하고 있는지 확인합니다. 여기에서 최신 버전을 찾을 수 있습니다.

시작하기

다음 단계에 따라 플랫 파일 가져오기 마법사에 액세스합니다.

  1. SQL Server Management Studio를 엽니다.
  2. SQL Server 데이터베이스 엔진의 인스턴스 또는 localhost에 연결합니다.
  3. 데이터베이스를 확장하고 데이터베이스를 마우스 오른쪽 단추로 클릭하고(다음 예제에서 테스트), 작업을 가리킨 다음 데이터 가져오기 위의 플랫 파일 가져오기를 선택합니다.

플랫 파일 가져오기 메뉴의 스크린샷.

마법사의 다양한 기능에 대한 자세한 내용은 다음 자습서를 참조하세요.

자습서

이 자습서에서는 사용자의 자체 플랫 파일을 자유롭게 사용할 수 있습니다. 그렇지 않은 경우 이 자습서에서는 Excel에서 다음 CSV를 사용하며 자유롭게 복사할 수 있습니다. 이 CSV를 사용하는 경우 제목을 example.csv로 지정하고 바탕 화면과 같은 쉬운 위치에 csv로 저장하세요.

Excel 스크린샷.

개요:

  1. 액세스 마법사
  2. 입력 파일 지정
  3. 데이터 미리 보기
  4. 열 수정
  5. 요약
  6. 결과

1단계: 액세스 마법사 및 소개 페이지

여기 설명된 대로 마법사에 액세스합니다.

마법사의 첫 번째 페이지는 환영 페이지입니다. 이 페이지를 다시 표시하지 않으려면 이 시작 페이지를 다시 표시 안 함을 선택하세요.

플랫 파일 가져오기 마법사 소개 메뉴의 스크린샷.

2단계: 입력 파일 지정

찾아보기를 선택하여 입력 파일을 선택합니다. 기본적으로 마법사는 .csv 및 .txt 파일을 검색합니다. PROSE는 파일 확장명과 상관없이 파일이 쉼표로 구분되거나 고정 너비 형식인지를 검색합니다.

새 테이블 이름은 고유해야 하며 그렇지 않은 경우 마법사에서 더 이상 이동할 수 없습니다.

플랫 파일 가져오기 마법사 입력 파일 지정 메뉴의 스크린샷.

3단계: 데이터 미리 보기

마법사에서는 첫 50개 행을 볼 수 있는 미리 보기가 생성됩니다. 문제가 있는 경우 취소를 선택하고 그렇지 않으면 다음 페이지로 진행합니다.

플랫 파일 가져오기 마법사 데이터 미리 보기 메뉴의 스크린샷.

4단계: 열 수정

마법사는 올바른 열 이름, 데이터 형식 등을 식별합니다. 잘못된 경우 여기에서 필드를 편집할 수 있습니다(예: 데이터 형식은 int가 아닌 float이어야 합니다).

빈 값이 검색되는 열에는 "Null 허용"이 선택되어 있습니다. 그러나 열에 null을 허용해야 하는데 “Null 허용”이 선택되지 않은 경우에는 하나 또는 모든 열에 null을 허용하도록 테이블 정의를 업데이트할 수 있습니다.

준비가 되면 계속 진행합니다.

플랫 파일 가져오기 마법사 열 수정 메뉴의 스크린샷.

5단계: 요약

다음은 현재 구성을 표시하는 간단한 요약 페이지입니다. 문제가 있는 경우 이전 섹션으로 돌아갈 수 있습니다. 그렇지 않으면 마침을 선택하여 가져오기 프로세스를 시도합니다.

플랫 파일 가져오기 마법사 요약 메뉴의 스크린샷.

6단계: 결과

이 페이지는 가져오기에 성공했는지 여부를 나타냅니다. 녹색 확인 표시가 나타나는 경우 성공, 그렇지 않으면 모든 오류에 대해 구성 또는 입력 파일을 검토해야 할 수 있습니다.

플랫 파일 가져오기 마법사 결과 메뉴의 스크린샷.

문제 해결

플랫 파일 가져오기 마법사는 처음 200개 행을 기반으로 데이터 형식을 검색합니다. 플랫 파일의 추가 데이터가 자동으로 검색된 데이터 형식을 준수하지 않는 시나리오에서는 가져오는 동안 오류가 발생합니다. 오류 메시지는 다음과 유사합니다.

Error inserting data into table. (Microsoft.SqlServer.Prose.Import)
The given value of type String from the data source cannot be converted to type nvarchar of the specified target column. (System.Data)
String or binary data would be truncated. (System.Data)

이러한 오류를 완화하기 위한 전술은 다음과 같습니다.

  • 열 수정 단계에서 nvarchar 열의 길이와 같은 데이터 형식 크기를 확장하면 플랫 파일의 나머지에서 데이터의 변형을 보정할 수 있습니다.
  • 열 수정 단계에서 오류 보고를 사용하도록 설정하면 특히 더 작은 숫자로 인해 선택한 데이터 형식에 맞지 않는 데이터가 포함된 플랫 파일의 행이 표시됩니다. 예를 들어 두 번째 행에 오류가 발생한 플랫 파일에서 1 범위의 오류 보고를 사용하여 가져오기를 실행하면 특정 오류 메시지가 표시됩니다. 해당 위치에서 직접 파일을 검사하면 식별된 행의 데이터에 따라 데이터 형식에 대한 더 많은 대상 변경 내용을 제공할 수 있습니다.

플랫 파일 가져오기 마법사에서 결과를 보고하는 오류의 스크린샷.

Error inserting data into table occurred while inserting rows 1 - 2. (Microsoft.SqlServer.Prose.Import)
The given value of type String from the data source cannot be converted to type float of the specified target column. (System.Data)
Failed to convert parameter value from a String to a Double. (System.Data)

현재 가져오기는 시스템의 활성 코드 페이지를 기반으로 인코딩을 사용합니다. 대부분의 컴퓨터에서 이 기본값은 ANSI입니다.

이 마법사를 자세히 알아보세요.