지원되지 않는 SQL92 오류를 수정하려면 어떻게 해야 합니까?
자바로 코드를 작성하고 오라클과 데이터베이스 연결을 합니다.스크립트를 실행하면 이 오류가 발생합니다.스크립트는 두꺼비에서는 작동하지만 프로젝트에서는 작동하지 않습니다.
url include.
.
.
.
.
DECODE
(REF.target_type_code,
'1', wf.workflow_name,
'20', reqtyp.request_type_name,
'6', prj1.project_name,
'59', trootinfo1.NAME,
'55', DECODE
(document.checked_out_by,
NULL,
REPLACE
(REPLACE
(REPLACE
(REPLACE
(REPLACE
(knta_i18n_resource.get
('DMS_REFERENCE_DETAIL_CHECKED_OUT.TXT'
),
knta_i18n_format_utils.format_date
(document.checked_in_date,
3
)
)
),
document.version_number
)
),
'{4}'
)
)
) reference_detail,
.
.
.
.
try {
stmt = connection.createStatement();
rset = stmt.executeQuery(url) ;
} catch (Exception e)
{
error= e.getLocalizedMessage() ;
return 4;
}
이 오류는 {}개의 괄호 때문에 발생합니다.시험해봅니다.괄호를 삭제하면 오류가 없습니다.하지만 저는 그것들이 필요하고 어떻게 고칠 수 있을까요?
모든 것이 다.{
그리고.}
. 사용하지 않습니다.Ojdbc는 파싱을 하지 않습니다.토큰 대신 다른 토큰을 사용합니다.
이것은 아마도 JDBC 이스케이프 구문 때문일 것입니다(JDBC 4.1 규격의 섹션 13.4 참조).JDBC 드라이버는 다음과 같이 탈출을 처리해야 합니다.{
그리고.}
이스케이프된 표준 함수, 외부 조인 등을 데이터베이스 특정 형식으로 변환합니다.
내가 알기로는 운전자는 이스케이프가 문 본문 자체에서 발생한 경우에만 구문을 해석해야 하며 문의 텍스트 내부에 있을 때는 구문을 해석해서는 안 되는 것으로 알고 있습니다(예에서와 같이).그래서 제가 보기에 이것은 당신 운전자의 JDBC 탈출 처리에 버그로 보입니다.
다른 StackOverflow 게시글의 답을 따라 JDBC로 Oracle 데이터베이스에 Java 만들기를 수행하면 이 문제를 해결할 수 있습니다.
요약하면 다음과 같습니다.
CallableStatement stat = conn.prepareCall(sql);
stat.setEscapeProcessing(false);
stat.execute();
중간선은 당신이 놓치고 있는 것 같습니다.그 게시물을 찾을 때까지 알 수가 없었습니다.
REFREENT 호출 중 일부에 인수가 충분하지 않은 것으로 보입니다.왼쪽에서 세어 보면 첫 번째 REFREENT에는 두 가지 인수가 있습니다.두번째는 오직 한가지 논쟁만 있습니다.세 번째는 두 가지 주장이 있습니다.네 번째는 논쟁이 하나뿐입니다.다섯 번째 (마지막)에는 두 가지 주장이 있습니다.Oracle에서 REFREENT 함수에는 최소 두 개의 인수가 필요합니다.당신이 완전한 글을 올리지 않아 이것이 오류의 원인인지는 알 수 없지만, 저는 분명 대체할 적절한 주장이 부족한 것이 문제가 될 것이라고 예상합니다.
나누어서 즐겨요.
교체하다'{4}'
와 함께CHR(123)||'4'||CHR(125)
당신의 대본에.
언급URL : https://stackoverflow.com/questions/12244591/how-can-i-fix-this-error-non-supported-sql92
'programing' 카테고리의 다른 글
빈 값을 정수 필드로 저장하는 방법 (0) | 2023.09.15 |
---|---|
유효성 확인 후 후 주문 전에 Woocmerce 체크아웃에서 만들기 (0) | 2023.09.15 |
Oracle에서 윤초를 처리하는 방법 (0) | 2023.09.15 |
AFNetworking에 누락된 ASIHTTP 요청 주요 기능은 무엇입니까? (0) | 2023.09.15 |
도커 ENV 대 RUN 내보내기 (0) | 2023.09.15 |