적용 대상: Azure Logic Apps(사용량 + 표준)
워크플로가 Oracle 데이터로 작업해야 하는 경우 Azure Logic Apps Oracle Database 커넥터를 사용하여 Oracle 데이터베이스에 연결합니다. 온-프레미스 또는 Azure 가상 머신에서 호스트되는 데이터베이스에 액세스할 수 있습니다.
Oracle Database 커넥터를 사용하면 다음과 같은 일반적인 데이터 통합 작업을 해결할 수 있습니다.
- 데이터베이스에 고객 레코드를 추가합니다.
- 데이터베이스의 주문 레코드를 업데이트합니다.
- 워크플로의 일부로 테이블 행을 가져오기, 삽입 또는 삭제합니다.
지원되는 Oracle 데이터베이스 버전
다음 표에서는 각 커넥터에서 지원하는 지원되는 Oracle DB 버전을 나열합니다.
| Connector | 논리 앱 | 지원되는 Oracle DB 버전 |
|---|---|---|
| Managed | -소비 -표준 |
- Oracle 9 이상 - Oracle ODAC(Data Access Client) 11.2 이상 |
| 기본 제공(미리 보기) | 스탠다드 | Oracle Database 11 이상 |
커넥터 기술 참조
Oracle Database 커넥터에는 논리 앱 워크플로 유형 및 호스트 환경에 따라 다른 버전이 있습니다.
| 논리 앱 | 환경 | 커넥터 버전 |
|---|---|---|
| 소비 | 다중 테넌트 Azure Logic Apps | 관리되는 커넥터는 공유 필터 아래의 커넥터 갤러리에 표시됩니다. 자세한 내용은 Oracle Database 관리 커넥터 참조를 참조하세요. |
| 표준 | 단일 테넌트 Azure Logic Apps, App Service Environment v3 (Windows plans only), 및 하이브리드 |
공유 필터 아래의 커넥터 갤러리에 표시되는 관리형 커넥터 및 기본 제공 필터 아래의 커넥터 갤러리에 표시되는 기본 제공 커넥터(공개 미리 보기)입니다. 기본 제공 버전은 Azure Logic Apps 런타임에서 in-process로 실행되며 런타임이 네트워크를 통해 Oracle 엔드포인트에 연결할 수 있으므로 온-프레미스 데이터 게이트웨이가 필요하지 않습니다. 자세한 내용은 다음을 참조하세요. - Oracle Database 관리 커넥터 참조 - 기본 제공 커넥터 참조 |
기본 제공 커넥터 작업(미리 보기)
기본 제공 커넥터는 현재 다음 작업을 지원합니다.
| 이름 | 매개 변수 | Description | Returns |
|---|---|---|---|
쿼리 실행 (executeQuery) |
-
쿼리 (query): string 형식에 필요합니다. 실행할 SQL 쿼리입니다. - 쿼리 매개 변수 ( queryParameters): 선택적이며 object 형식입니다. 포함할 쿼리 매개 변수입니다. |
SQL 쿼리를 실행합니다. | SQL 쿼리 결과는 array입니다. |
저장 프로시저 실행 (executeStoredProcedure) |
-
저장 프로시저 이름 (storedProcedure): string 형식에 필수입니다. 실행할 저장 프로시저의 이름입니다. - 저장 프로시저 매개 변수 ( storedProcedureParameters): object 형식의 선택 사항입니다. 포함할 저장 프로시저 매개 변수입니다. |
저장 프로시저를 실행하고 결과 집합 및 출력 매개 변수를 반환합니다. |
- 형식이 있는 결과 집합(resultSets)입니다string. 저장 프로시저에서 반환된 결과 집합 목록입니다. - 형식이 있는 출력 매개 변수( outputParmaters)입니다string. 저장 프로시저에서 반환된 출력 매개 변수 값입니다. |
행 가져오기 (getRows) |
-
테이블 이름 (tableName): string 형식이 필요합니다. 원본 테이블의 이름입니다. - Where 조건 ( columnValuesForWhereCondition): object 형식의 선택 사항입니다. 가져올 행을 식별하는 데 사용되는 열의 키-값 쌍입니다. - 행 가져오기 오프셋 ( skipCount): string 형식과 함께 선택적으로 사용 가능합니다. 건너뛸 항목 수입니다. 기본값은 0입니다. - 최대 행 ( maxcount): string 유형에서 선택 사항입니다. 가져올 최대 행 개수입니다. 기본값은 0입니다. - 정렬 열 ( orderBy): string 형식의 경우 선택 사항입니다. 쿼리 결과를 정렬하는 데 사용할 열 이름입니다. - 열 선택 ( filterBy): string 유형을 사용하여 선택 사항입니다. 테이블 또는 뷰에서 가져올 열 값입니다. |
지정된 조건에 따라 하나 이상의 행을 가져옵니다. | 페치된 행을 array로 가져옵니다. |
테이블 가져오기 (getTables) |
현재 사용자가 소유한 테이블만 반환 합니다(ownedTables선택 사항). 형식이 있는 string 선택 사항입니다. 소유자가 제공된 사용자인 테이블만 반환합니다. |
테이블 목록을 가져옵니다. | "array 로서의 테이블 목록 입니다." |
행 삽입 (insertRow) |
-
테이블 이름 (tableName): string 형식이 필요합니다. 테이블의 이름입니다. - 열 구성 ( setColumns): object 유형에 따라 선택 사항입니다. 행 필드의 값입니다. |
행을 삽입합니다. | 삽입된 행은 object 유형입니다. |
필수 조건
Azure 계정 및 구독 무료 Azure 계정을 만듭니다.
Oracle 데이터베이스에 연결할 위치의 논리 앱 리소스 및 워크플로입니다.
이 커넥터는 작업만 제공하고 트리거를 제공하지 않습니다. 워크플로를 시작하려는 모든 트리거를 사용할 수 있습니다. 논리 앱 리소스 및 워크플로를 만든 다음 트리거를 추가하려면 다음을 참조하세요.
관리형 커넥터 필수 구성 요소(소비 및 표준)
온-프레미스 데이터 게이트웨이를 다운로드하고 설치합니다.
이 게이트웨이는 브리지 역할을 하며 온-프레미스 데이터와 앱 또는 클라이언트 간에 보안 데이터 전송을 제공합니다. 여러 서비스 및 데이터 원본에서 동일한 게이트웨이 설치를 사용할 수 있습니다. 즉, 게이트웨이를 한 번만 설치하면 됩니다.
온-프레미스 데이터 게이트웨이를 설치한 컴퓨터에 Oracle 클라이언트를 설치합니다. 그렇지 않으면 연결을 만들거나 사용하려고 할 때 오류가 발생합니다.
게이트웨이 설치를 위한 Azure 게이트웨이 리소스를 만듭니다.
기본 제공 커넥터 필수 구성 요소(표준, 미리 보기)
표준 논리 앱 워크플로가 호스트, 포트, DNS 확인 및 방화벽 규칙을 포함하여 Oracle 엔드포인트에 도달할 수 있는지 확인합니다.
Oracle 데이터베이스 연결을 만들 때 다음 값이 필요합니다.
- Oracle 데이터베이스 서버 IP 주소
- 사용자 이름
- 암호
서버 IP 주소의 경우 다음 형식으로 이 값을 지정합니다.
형식 구문 Example Easy Connect(비 SSL) < host>:<port>/<database-service-name> localhost:1522/XETNS(투명한 네트워크 기판) 설명자(SSL): 전체 Oracle 데이터 소스 설명자 (description=(retry_count=<재시도 횟수>)(retry_delay=<지연 기간>)(address=(protocol=tcps)(port=<포트 번호>)(host=<호스트>))(connect_data=(service_name=<서비스 이름>))(security=(ssl_server_dn_match=yes))) (description=(retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=localhost))(connect_data=(service_name=XE))(security=(ssl_server_dn_match=yes)) 이 예제에 사용된 행 가져오기 작업의 경우 액세스할 테이블의 식별자를 알아야 합니다.
이 정보를 모르는 경우 Oracle Database 관리자에게 문의하거나 다음 문
select * from <table-name>에서 출력을 가져옵니다.
알려진 문제 및 제한 사항
현재 커넥터 버전은 트리거를 지원하지 않습니다. 시나리오에 맞는 트리거를 사용하여 워크플로를 시작한 다음 Oracle 작업을 추가합니다.
| Connector | Limitations |
|---|---|
| Managed | - 복합 키가 있는 테이블 - 중첩된 개체 형식의 테이블 - 비스칼라 값을 가지는 데이터베이스 함수 |
| 기본 제공 | - 전용 업데이트 또는 삭제 작업이 없습니다. 업데이트 및 삭제 시나리오의 경우 쿼리 실행 또는 저장 프로시저 실행 작업을 사용합니다. - 일부 연결 문제는 연결 생성 시간이 아닌 워크플로 런타임에만 나타날 수 있습니다. |
작업 추가
Oracle 작업을 추가하고 사용하는 단계는 기본 제공 커넥터 또는 관리형 커넥터를 사용하는지 여부에 따라 다릅니다.
내장 커넥터 작업 추가(표준, 미리 보기)
Azure Portal에서 표준 논리 앱 리소스를 엽니다.
디자이너에서 워크플로를 엽니다.
일반적인 단계에 따라 워크플로에 원하는 Oracle Database 작업을 추가합니다.
이 예제에서는 행 가져오기 작업을 계속합니다.
연결 정보 창에 필요한 정보(예: 원하는 연결 이름, Oracle 데이터베이스 서버 IP 주소, 사용자 이름 및 암호)를 입력합니다.
완료되면 새로 만들기를 선택합니다.
작업 정보 창에서 선택한 작업에 필요한 매개 변수 값을 입력합니다.
예를 들어 행 가져오기 작업을 선택하는 경우 테이블 이름을 입력합니다.
스크린샷에는 Azure 포털, 표준 워크플로 디자이너 및 예제 테이블 이름이 포함된 행 가져오기 작업이 표시됩니다. 워크플로를 완료하는 데 필요한 다른 작업을 추가합니다.
워크플로를 저장합니다. 디자이너 도구 모음에서 저장을 선택합니다.
관리형 커넥터 액션 추가(소비형 및 표준형)
Azure 포털에서 소비 논리 앱 또는 표준 논리 앱 리소스를 엽니다.
디자이너에서 워크플로를 엽니다.
일반적인 단계에 따라 워크플로에 원하는 Oracle Database 작업을 추가합니다.
이 예제에서는 행 가져오기 작업을 계속합니다.
연결 정보 창에서 필요한 연결 정보를 입력합니다.
게이트웨이 속성에 대해 Azure 구독 및 Azure 게이트웨이 리소스를 선택합니다.
연결을 완료한 후 테이블 이름 목록에서 테이블을 선택합니다.
행 ID 속성의 경우 테이블에 원하는 행 ID를 입력합니다.
다음 예제에서는 인적 자원 데이터베이스에서 작업 데이터가 반환됩니다.
스크린샷은 Azure 포털, 워크플로 디자이너 및 테이블 이름과 행 ID를 사용하는 행 가져오기 작업을 보여줍니다. 워크플로를 완료하는 데 필요한 다른 작업을 추가합니다.
워크플로를 저장합니다. 디자이너 도구 모음에서 저장을 선택합니다.
Oracle 데이터베이스 연결 문제 해결
오류: 게이트웨이에 연결할 수 없습니다.
원인: 온-프레미스 데이터 게이트웨이가 클라우드에 연결할 수 없습니다.
완화: 게이트웨이가 설치된 온프레미스 컴퓨터에서 해당 게이트웨이가 정상적으로 실행 중인지, 그리고 인터넷에 연결되어 있는지 확인하세요. 꺼져 있거나 절전 모드로 전환될 수 있는 컴퓨터에 게이트웨이를 설치하지 마세요. 온-프레미스 데이터 게이트웨이 서비스(PBIEgwService)를 다시 시작할 수도 있습니다.
오류: 사용 중인 공급자는 더 이상 사용되지 않습니다. 'System.Data.OracleClient에는 Oracle 클라이언트 소프트웨어 버전 8.1.7 이상이 필요합니다.' 공식 공급자를 설치하려면 다음을 참조하세요 https://go.microsoft.com/fwlink/p/?LinkID=272376.
원인: Oracle 클라이언트 SDK는 온-프레미스 데이터 게이트웨이가 실행 중인 컴퓨터에 설치되지 않습니다.
해결 방법: 온-프레미스 데이터 게이트웨이와 동일한 컴퓨터에 Oracle 클라이언트 SDK를 다운로드하여 설치합니다.
오류: 테이블 '[Tablename]'에 키 열이 정의되어 있지 않습니다.
원인: 테이블에 기본 키가 없습니다.
해결 방법: Oracle Database 커넥터를 사용하려면 기본 키 열이 있는 테이블을 사용해야 합니다.