기술 정보
home
채널 소개
home

DBLINK 우회 방안 (Tibero 함수 호출 제약)

문서 유형
기술 정보
분야
인터페이스/연동
키워드
dblink
view
1 more property

개요

Oracle에서 Tibero로의 DBLink에서 Tibero의 함수 호출 시 제약이 있을 경우 아래와 같은 우회 방안을 안내합니다.
참고
Oracle에서 Tibero 의 view를 조회하면 LINK의 LINK 를 거쳐 결과 값이 나오도록 우회했습니다.
Tibero는 view 생성 시 varchar2의 경우 최대 크기(65536)로 할당되어 Oracle 쪽에서 LONG 타입으로 인식됩니다. view 생성 시 CAST 함수로 컬럼 길이를 제한하는 방법으로 우회 가능합니다.

방법

Tibero에 Oracle의 컬럼을 select 할 수 있는 view를 생성합니다.

테스트 함수 생성

CREATE OR REPLACE FUNCTION FN_T5_TEST RETURN NUMBER IS V_NUMBER NUMBER; BEGIN SELECT FUNC_NO INTO V_NUMBER FROM T1_TIB; RETURN V_NUMBER; END; / DROP FUNCTION FN_T5_TEST CREATE OR REPLACE FUNCTION FN_T5_TEST_2 RETURN VARCHAR2 IS V_TEXT VARCHAR2(20); BEGIN SELECT ‘ORACLE’ INTO V_TEXT FROM DUAL; RETURN V_TEXT; END; /
SQL
복사

우회 전 쿼리

SELECT FN_T5_TEST AS NUM, FN_T5_TEST_2 AS TEXT FROM DUAL@OT_0627;
SQL
복사

우회 후 쿼리

CREATE OR REPLACE VIEW VW_T5_TEST AS SELECT FN_T5_TEST AS NUM , cast(FN_T5_TEST_2 as varchar(20)) AS TEXT FROM DUAL; select * from t4_ora where ORA_TEST_TEXT in (SELECT text FROM VW_T5_TEST@OT_0627);
SQL
복사