Azure Logic Apps 워크플로에서 Oracle 데이터베이스에 연결

적용 대상: 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 유형입니다.

필수 조건

관리형 커넥터 필수 구성 요소(소비 및 표준)

  • 온-프레미스 데이터 게이트웨이를 다운로드하고 설치합니다.

    이 게이트웨이는 브리지 역할을 하며 온-프레미스 데이터와 앱 또는 클라이언트 간에 보안 데이터 전송을 제공합니다. 여러 서비스 및 데이터 원본에서 동일한 게이트웨이 설치를 사용할 수 있습니다. 즉, 게이트웨이를 한 번만 설치하면 됩니다.

  • 온-프레미스 데이터 게이트웨이를 설치한 컴퓨터에 Oracle 클라이언트를 설치합니다. 그렇지 않으면 연결을 만들거나 사용하려고 할 때 오류가 발생합니다.

  • 게이트웨이 설치를 위한 Azure 게이트웨이 리소스를 만듭니다.

기본 제공 커넥터 필수 구성 요소(표준, 미리 보기)

  • 표준 논리 앱 워크플로가 호스트, 포트, DNS 확인 및 방화벽 규칙을 포함하여 Oracle 엔드포인트에 도달할 수 있는지 확인합니다.

  • Oracle 데이터베이스 연결을 만들 때 다음 값이 필요합니다.

    • Oracle 데이터베이스 서버 IP 주소
    • 사용자 이름
    • 암호

    서버 IP 주소의 경우 다음 형식으로 이 값을 지정합니다.

    형식 구문 Example
    Easy Connect(비 SSL) < host>:<port>/<database-service-name> localhost:1522/XE
    TNS(투명한 네트워크 기판) 설명자(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 작업을 추가하고 사용하는 단계는 기본 제공 커넥터 또는 관리형 커넥터를 사용하는지 여부에 따라 다릅니다.

내장 커넥터 작업 추가(표준, 미리 보기)

  1. Azure Portal에서 표준 논리 앱 리소스를 엽니다.

  2. 디자이너에서 워크플로를 엽니다.

  3. 일반적인 단계에 따라 워크플로에 원하는 Oracle Database 작업을 추가합니다.

    이 예제에서는 행 가져오기 작업을 계속합니다.

  4. 연결 정보 창에 필요한 정보(예: 원하는 연결 이름, Oracle 데이터베이스 서버 IP 주소, 사용자 이름 및 암호)를 입력합니다.

    스크린샷은 행 가져오기 작업에 대한 Azure 포털, 표준 워크플로 디자이너 및 Oracle 데이터베이스 연결 창을 표시합니다.

  5. 완료되면 새로 만들기를 선택합니다.

  6. 작업 정보 창에서 선택한 작업에 필요한 매개 변수 값을 입력합니다.

    예를 들어 행 가져오기 작업을 선택하는 경우 테이블 이름을 입력합니다.

    스크린샷에는 Azure 포털, 표준 워크플로 디자이너 및 예제 테이블 이름이 포함된 행 가져오기 작업이 표시됩니다.

  7. 워크플로를 완료하는 데 필요한 다른 작업을 추가합니다.

  8. 워크플로를 저장합니다. 디자이너 도구 모음에서 저장을 선택합니다.

관리형 커넥터 액션 추가(소비형 및 표준형)

  1. Azure 포털에서 소비 논리 앱 또는 표준 논리 앱 리소스를 엽니다.

  2. 디자이너에서 워크플로를 엽니다.

  3. 일반적인 단계에 따라 워크플로에 원하는 Oracle Database 작업을 추가합니다.

    이 예제에서는 행 가져오기 작업을 계속합니다.

  4. 연결 정보 창에서 필요한 연결 정보를 입력합니다.

  5. 게이트웨이 속성에 대해 Azure 구독 및 Azure 게이트웨이 리소스를 선택합니다.

  6. 연결을 완료한 후 테이블 이름 목록에서 테이블을 선택합니다.

  7. 행 ID 속성의 경우 테이블에 원하는 행 ID를 입력합니다.

    다음 예제에서는 인적 자원 데이터베이스에서 작업 데이터가 반환됩니다.

    스크린샷은 Azure 포털, 워크플로 디자이너 및 테이블 이름과 행 ID를 사용하는 행 가져오기 작업을 보여줍니다.

  8. 워크플로를 완료하는 데 필요한 다른 작업을 추가합니다.

  9. 워크플로를 저장합니다. 디자이너 도구 모음에서 저장을 선택합니다.

Oracle 데이터베이스 연결 문제 해결

오류: 게이트웨이에 연결할 수 없습니다.

원인: 온-프레미스 데이터 게이트웨이가 클라우드에 연결할 수 없습니다.

완화: 게이트웨이가 설치된 온프레미스 컴퓨터에서 해당 게이트웨이가 정상적으로 실행 중인지, 그리고 인터넷에 연결되어 있는지 확인하세요. 꺼져 있거나 절전 모드로 전환될 수 있는 컴퓨터에 게이트웨이를 설치하지 마세요. 온-프레미스 데이터 게이트웨이 서비스(PBIEgwService)를 다시 시작할 수도 있습니다.

오류: 사용 중인 공급자는 더 이상 사용되지 않습니다. 'System.Data.OracleClient에는 Oracle 클라이언트 소프트웨어 버전 8.1.7 이상이 필요합니다.' 공식 공급자를 설치하려면 다음을 참조하세요 https://go.microsoft.com/fwlink/p/?LinkID=272376.

원인: Oracle 클라이언트 SDK는 온-프레미스 데이터 게이트웨이가 실행 중인 컴퓨터에 설치되지 않습니다.

해결 방법: 온-프레미스 데이터 게이트웨이와 동일한 컴퓨터에 Oracle 클라이언트 SDK를 다운로드하여 설치합니다.

오류: 테이블 '[Tablename]'에 키 열이 정의되어 있지 않습니다.

원인: 테이블에 기본 키가 없습니다.

해결 방법: Oracle Database 커넥터를 사용하려면 기본 키 열이 있는 테이블을 사용해야 합니다.