Azure Data Factory 또는 Synapse Analytics를 사용하여 ODBC 데이터 저장소 간 데이터 복사
적용 대상: Azure Data Factory Azure Synapse Analytics
팁
기업용 올인원 분석 솔루션인 Microsoft Fabric의 Data Factory를 사용해 보세요. Microsoft Fabric은 데이터 이동부터 데이터 과학, 실시간 분석, 비즈니스 인텔리전스 및 보고에 이르기까지 모든 것을 다룹니다. 무료로 새 평가판을 시작하는 방법을 알아봅니다!
이 문서에서는 Azure Data Factory의 복사 작업을 사용하여 ODBC 데이터 저장소 간에 데이터를 복사하는 방법을 설명합니다. 이 문서는 복사 작업에 대한 일반적인 개요를 제공하는 복사 작업 개요 문서를 기반으로 합니다.
지원되는 기능
이 ODBC 커넥터는 다음 기능에 대해 지원됩니다.
지원되는 기능 | IR |
---|---|
복사 작업(원본/싱크) | 9 |
조회 작업 | 9 |
① Azure 통합 런타임 ② 자체 호스팅 통합 런타임
원본/싱크로 지원되는 데이터 저장소 목록은 지원되는 데이터 저장소 표를 참조하세요.
특히 이 ODBC 커넥터는 Basic 또는 Anonymous 인증을 사용하여 ODBC 호환 데이터 저장소 간의 데이터 복사를 지원합니다. 64비트 ODBC 드라이버가 필요합니다. ODBC 싱크의 경우 서비스는 ODBC 버전 2.0 표준을 지원합니다.
필수 조건
ODBC 커넥터를 사용하려면 다음을 수행해야 합니다.
- 자체 호스팅 Integration Runtime을 설정합니다. 자세한 내용은 자체 호스팅 통합 런타임을 참조하세요.
- 통합 런타임 머신의 데이터 저장소에 64비트 ODBC 드라이버를 설치합니다.
시작하기
파이프라인에 복사 작업을 수행하려면 다음 도구 또는 SDK 중 하나를 사용하면 됩니다.
UI를 사용하여 ODBC 데이터 저장소에 연결된 서비스 만들기
다음 단계를 사용하여 Azure Portal UI에서 ODBC 데이터 저장소에 연결된 서비스를 만듭니다.
Azure Data Factory 또는 Synapse 작업 영역에서 관리 탭으로 이동하여 연결된 서비스를 선택하고 새로 만들기를 클릭합니다.
ODBC를 검색하고 ODBC 커넥터를 선택합니다.
서비스 세부 정보를 구성하고, 연결을 테스트하고, 새로운 연결된 서비스를 만듭니다.
커넥터 구성 세부 정보
다음 섹션에서는 ODBC 커넥터에 한정된 Data Factory 엔터티를 정의하는 데 사용되는 속성에 대해 자세히 설명합니다.
연결된 서비스 속성
ODBC 연결된 서비스에 다음 속성이 지원됩니다.
속성 | 설명 | 필수 |
---|---|---|
type | 형식 속성은 Odbc로 설정해야 합니다. | 예 |
connectionString | 자격 증명 부분을 제외한 연결 문자열입니다. Driver={SQL Server};Server=Server.database.windows.net; Database=TestDatabase; 와 같은 패턴으로 연결 문자열을 지정하거나 DSN=<name of the DSN on IR machine>; 을 통해 Integration Runtime 컴퓨터에 설정한 시스템 DSN(데이터 원본 이름)을 사용할 수 있습니다(이에 따라 연결된 서비스에서 자격 증명 부분도 계속 지정해야 함).Azure Key Vault에 암호를 넣고 연결 문자열에서 password 구성을 끌어올 수도 있습니다. 자세한 내용은 Azure Key Vault의 자격 증명 저장을 참조하세요. |
예 |
authenticationType | ODBC 데이터 저장소에 연결하는 데 사용되는 인증 형식입니다. 허용되는 값은 Basic 및 Anonymous입니다. |
예 |
userName | 기본 인증을 사용하는 경우 사용자 이름을 지정합니다. | 아니요 |
password | userName에 지정한 사용자 계정의 암호를 지정합니다. 이 필드를 SecureString으로 표시하여 안전하게 저장하거나, Azure Key Vault에 저장된 비밀을 참조합니다. | 아니요 |
자격 증명(credential) | 드라이버 관련 속성 값 형식에 지정된 연결 문자열의 액세스 자격 증명 부분입니다. 예: "RefreshToken=<secret refresh token>;" 이 필드를 SecureString으로 표시합니다. |
아니요 |
connectVia | 데이터 저장소에 연결하는 데 사용할 Integration Runtime입니다. 필수 조건에 설명된 대로 자체 호스팅 Integration Runtime이 필요합니다. | 예 |
예제 1: 기본 인증 사용
{
"name": "ODBCLinkedService",
"properties": {
"type": "Odbc",
"typeProperties": {
"connectionString": "<connection string>",
"authenticationType": "Basic",
"userName": "<username>",
"password": {
"type": "SecureString",
"value": "<password>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
예제 2: 익명 인증 사용
{
"name": "ODBCLinkedService",
"properties": {
"type": "Odbc",
"typeProperties": {
"connectionString": "<connection string>",
"authenticationType": "Anonymous",
"credential": {
"type": "SecureString",
"value": "RefreshToken=<secret refresh token>;"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
데이터 세트 속성
데이터 세트 정의에 사용할 수 있는 섹션 및 속성의 전체 목록은 데이터 세트 문서를 참조하세요. 이 섹션에서는 ODBC 데이터 세트에서 지원하는 속성의 목록을 제공합니다.
ODBC 호환 데이터 저장소 간에 데이터를 복사하기 위해 지원되는 속성은 다음과 같습니다.
속성 | 설명 | 필수 |
---|---|---|
type | 데이터 세트의 형식 속성을 OdbcTable으로 설정해야 합니다. | 예 |
tableName | ODBC 데이터 저장소에 있는 테이블의 이름입니다. | 원본: 아니요(작업 원본에서 "query"가 지정된 경우) 싱크: 예 |
예제
{
"name": "ODBCDataset",
"properties": {
"type": "OdbcTable",
"schema": [],
"linkedServiceName": {
"referenceName": "<ODBC linked service name>",
"type": "LinkedServiceReference"
},
"typeProperties": {
"tableName": "<table name>"
}
}
}
RelationalTable
형식의 데이터 세트를 사용하고 있는 경우 현재까지 지원되지만 앞으로는 새 형식을 사용하는 것이 좋습니다.
복사 작업 속성
작업 정의에 사용할 수 있는 섹션 및 속성의 전체 목록은 파이프라인 문서를 참조하세요. 이 섹션에서는 ODBC 원본에서 지원하는 속성의 목록을 제공합니다.
ODBC를 원본으로
ODBC 호환 데이터 저장소에서 데이터를 복사하기 위해 복사 작업 원본 섹션에서 지원되는 속성은 다음과 같습니다.
속성 | 설명 | 필수 |
---|---|---|
type | 복사 작업 원본의 형식 속성을 OdbcSource로 설정해야 합니다. | 예 |
query | 사용자 지정 SQL 쿼리를 사용하여 데이터를 읽습니다. 예: "SELECT * FROM MyTable" |
아니요(데이터 세트의 "tableName"이 지정된 경우) |
예제:
"activities":[
{
"name": "CopyFromODBC",
"type": "Copy",
"inputs": [
{
"referenceName": "<ODBC input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "OdbcSource",
"query": "SELECT * FROM MyTable"
},
"sink": {
"type": "<sink type>"
}
}
}
]
RelationalSource
형식의 원본을 사용하고 있는 경우 현재까지 지원되지만 앞으로는 새 형식을 사용하는 것이 좋습니다.
ODBC를 싱크로
ODBC 호환 데이터 저장소에 데이터를 복사하려면 복사 작업의 싱크 형식을 OdbcSink로 설정합니다. 복사 작업 sink 섹션에서 다음 속성이 지원됩니다.
속성 | 설명 | 필수 |
---|---|---|
type | 복사 작업 싱크의 형식 속성은 OdbcSink로 설정해야 합니다. | 예 |
writeBatchTimeout | 시간이 초과되기 전에 완료하려는 배치 삽입 작업을 위한 대기 시간입니다. 허용되는 값은 시간 범위입니다. 예제: "00:30:00"(30분). |
아니요 |
writeBatchSize | 버퍼 크기가 writeBatchSize에 도달하면 SQL 테이블에 데이터를 삽입합니다. 허용되는 값은 정수(행 수)입니다. |
아니요(기본값: 0 - 자동 검색됨) |
preCopyScript | 각 실행 시 데이터 저장소에 데이터를 쓰기 전에 실행할 복사 작업에 대한 SQL 쿼리를 지정합니다. 이 속성을 사용하여 미리 로드된 데이터를 정리할 수 있습니다. | 아니요 |
참고 항목
“writeBatchSize”를 설정하지 않을 경우(자동 검색됨) 복사 작업이 먼저 드라이버의 배치 작업 지원 여부를 검색하니, 지원할 경우 10000으로, 지원하지 않을 경우 1로 설정합니다. 0이 아닌 값을 명시적으로 설정하면 복사 작업이 값을 부여하고 드라이버가 배치 작업을 지원하지 않는 경우 런타임에 실패하게 됩니다.
예제:
"activities":[
{
"name": "CopyToODBC",
"type": "Copy",
"inputs": [
{
"referenceName": "<input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<ODBC output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "<source type>"
},
"sink": {
"type": "OdbcSink",
"writeBatchSize": 100000
}
}
}
]
조회 작업 속성
속성에 대한 자세한 내용을 보려면 조회 작업을 확인하세요.
연결 문제 해결
연결 문제를 해결하려면 통합 런타임 구성 관리자의 진단 탭을 사용합니다.
- 통합 런타임 구성 관리자를 시작합니다.
- 진단 탭으로 전환합니다.
- "연결 테스트" 섹션에서 데이터 저장소(연결된 서비스)의 형식을 선택합니다.
- 데이터 저장소에 연결하는 데 사용되는 연결 문자열을 지정하고 인증을 선택하고 사용자 이름, 암호 및/또는 자격 증명을 입력합니다.
- 연결 테스트를 클릭하여 데이터 저장소에 대한 연결을 테스트합니다.
관련 콘텐츠
복사 작업에서 원본 및 싱크로 지원되는 데이터 저장소 목록은 지원되는 데이터 저장소를 참조하세요.