Support
Orange Support > 문의하기
Q & A
Orange v8 실행계획 수행 시 동일 이름의 바인드 변수 처리 오류 문의
안녕하세요.
Orange v8에서 JDBC로 접속하여 실행계획을 수행할 때, 동일한 이름의 바인드 변수를 여러 조건에서 반복해서 사용하면 각 위치를 별도의 바인드 변수로 인식하는 현상이 발생하여 문의드립니다.
재현 SQL은 다음과 같습니다.
SELECT *
FROM TABLE_NAME
WHERE DATE_VAR1 BETWEEN :START AND :END
AND DATE_VAR2 BETWEEN :START AND :END;
위 SQL에서 START와 END에 각각 바인드 값을 입력하여 실행계획을 수행하면 다음 오류가 발생합니다.
인덱스에서 누락된 IN 또는 OUT 매개변수:: 3
반면, 아래와 같이 동일한 용도의 바인드 변수라도 각 위치의 변수명을 모두 다르게 지정하고 개별적으로 값을 입력하면 정상적으로 처리됩니다.
SELECT *
FROM TABLE_NAME
WHERE DATE_VAR1 BETWEEN :START1 AND :END1
AND DATE_VAR2 BETWEEN :START2 AND :END2;
이 경우 다음과 같이 동일한 값을 네 개의 변수에 각각 입력해야 합니다.( START1 = START2 , END1 = END2 )
구 버전 오렌지에서는 동일한 이름의 바인드 변수는 여러 조건에서 반복해서 사용하더라도 하나의 값으로 처리되었지만,
Orange v8에서는 바인드 변수의 이름이 아닌 출현 위치를 기준으로 처리하면서 값이 누락되는 것으로 판단됩니다.
해당 현상이 Orange v8의 JDBC 바인드 처리 방식에 따른 제약인지, 제품 오류인지 확인 부탁드립니다.
또한 별도의 변수명으로 변경하지 않고 동일한 이름의 바인드 변수를 정상적으로 사용할 수 있는 설정이나 패치가 있는지도 안내 부탁드립니다.
Orange v8 실행계획 수행 시 동일 이름의 바인드 변수 처리 오류 문의
김재우
2026.08.25
RE: Orange v8 실행계획 수행 시 동일 이름의 바인드 변수 처리 오류 문의
오렌지팀
2026.09.11
Re: RE: Orange v8 실행계획 수행 시 동일 이름의 바인드 변수 처리 오류 문의
김재우
2026.09.11