응용프로그램이 pureQueryXML 파일에서 캡처되지 않는 SQL문을 동적으로 실행하는지 아니면 캡처되지만 바인드되지는 않는
SQL문을 동적으로 실행하는지를 지정합니다.
이 등록 정보는 executionMode가 STATIC일 경우에만
응용프로그램에 적용됩니다.이 등록 정보는
다음과 같은 값을 가질 수 있습니다.
- TRUE
- 응용 프로그램은 캡처하지 않은 SQL문을 동적으로 실행합니다. pureQueryXML
파일에서 캡처된 SQL문을 동적으로 실행하고 명령문은 바인드되지 않도록
구성됩니다. pureQuery 런타임은
pureQueryXML 파일의 SQL문이
isBindable 속성에서 바인드되는지 여부를 결정합니다. 속성 값이
TRUE인 경우 명령문은 바인드되고 FALSE인 경우 명령문은
바인드되지 않습니다.
이 값이 디폴트값입니다.
응용프로그램이
SQLExceptions을 지정하여 캡처하거나 바인드하지 않은 SQL문을 찾도록 하기 위해, allowDynamicSQL을 TRUE로
설정되지 않도록 선택할 수 있습니다.
- FALSE
- 메소드가 캡처되지 않거나 바운드되지 않은 SQL문을 사용하는 경우 pureQuery는
예외를 발생합니다. 다음 메소드는 이와 같은 이유로
예외가 발생할 수 있는 메소드 중 일부입니다.
- Java™ 응용프로그램의 경우:
- Connection.prepareStatement()
- Statement.addBatch()
- Statement.execute()
- Statement.executeQuery()
- Statement.executeUpdate()
- CLI 응용프로그램의 경우:
- SQLPrepare()
- SQLExecute()
- SQLExecDirect()
주: allowDynamicSQL 등록 정보가
TRUE인 경우, SET SPECIAL REGISTER문 또는 statementType이 SET_METHOD인
명령문은 pureQuery Runtime에 의해 제한되지 않습니다.
명령문은 pureQueryXML 파일에 있는지 여부에 관계없이
항상 허용됩니다.
다음 표는
capturedOnly, executionMode 및 allowDynamicSQL
조합과 결과적인 조작을 보여줍니다.
표 1. capturedOnly, executionMode 및 allowDynamicSQL
조합 및 결과 조작:capturedOnly |
executionMode |
allowDynamicSQL |
일치하는 SQL문 |
결과 |
TRUE |
STATIC |
TRUE |
YES |
isBindable = True, 정적으로 SQL문 실행 isBindable
= False, 동적으로 SQL문 실행
|
TRUE |
STATIC/DYNAMIC |
TRUE/FALSE |
NO |
오류 리턴 |
TRUE |
STATIC |
FALSE |
YES |
isBindable = True, 정적으로 SQL문 실행 isBindable
= False, 오류 리턴
|
TRUE |
DYNAMIC |
TRUE/FALSE |
YES |
SQL문 실행 |
FALSE |
STATIC |
TRUE |
YES |
isBindable = True, 정적으로 SQL문 실행 isBindable
= False, 동적으로 SQL문 실행
|
FALSE |
STATIC |
TRUE |
NO |
동적으로 SQL문 실행 |
FALSE |
STATIC |
FALSE |
YES |
isBindable = True, 정적으로 SQL문 실행 isBindable
= False, 오류 리턴
|
FALSE |
STATIC |
FALSE |
NO |
오류 리턴 |
FALSE |
DYNAMIC |
TRUE/FALSE |
YES/NO |
SQL문 실행 |
DB2 CLI 및 IBM Data Server Driver 사용법 참고
DB2® CLI(Call Level Interface) 또는
IBM® Data Server Driver를
pureQuery 런타임에 사용하는 경우 pureQuery Runtime 등록 정보를 구성 키워드로 사용할 수 있습니다.
- IBM CLI 키워드 구문
- allowDynamicSQL = TRUE | FALSE
- IBM Data Server Driver 구성 구문
- < parameter name="allowDynamicSQL" value="TRUE | FALSE"
/>
- .NET 연결 문자열 키워드에 대한 해당 IBM
Data Server Provider
- N/A