0
우리는 ojdbc14_10.1.0.2.jar와 Java/J2EE 애플리케이션 (JDBC를 직접 사용)과 JDK5를 사용하고 있지만 ojdbc5-11.2.0.3.jar로 마이그레이션하려고 시도했을 때 일부 sql 요청과 관련된 문제가 발생했습니다 (jdbc)가 더 이상 작동하지 않습니다.OJDBC 14 implicite 날짜 변환?
의사의 SQL 요청은 다음과 같습니다 날짜
select *
from quotas q
where q.datdeb<='2013-09-05' and q.datfin>='2013-09-05'
and q.datdeb is not null and q.datfin is not null order by ....;
NLS 매개 변수는 다음과 같습니다 DD/MM은/RR 날짜 형식이 요청의 매개 변수로 제공와 호환되지 않습니다
.
ojdbc14를 사용할 때 모든 것이 잘 작동했습니다. 분명히 날짜에 대한 implicite 변환을 수행합니다. 64 비트
감사합니다 -
는 내용은 오라클 데이터베이스 11g 릴리즈 11.2.0.3.0이다.
이 좋은 솔루션입니다 물론 네,하지만 난 자바/J2EE 애플리케이션은 날짜와 같은 매개 변수를 사용하여 SQL 요청이 많이 포함되어 있음을 언급하는 것을 잊었다 때문에 영향은 거대하고 큰 회귀 위험이있다 . 응용 프로그램이 Apache Tomcat에서 실행 중이기 때문에 암시 적으로 sql date 인수를 Oracle로 보내기 전에 변환 할 수있는 Tomcat 인수가 있습니까? –
quotas.datdeb, quotas.datfin의 데이터 유형은 무엇입니까? 또한 매개 변수는 날짜 또는 문자열입니까? – Brian
quotas.datdeb, quotas.datfin은 데이터베이스의 날짜이며 give 매개 변수도 날짜 (java.util.Date)이므로 Java/J2EE 응용 프로그램에서는 YYYY-MM-DD로 변환되지만 데이터베이스는 DD/MM/RR 형식 날짜. 그래서 우리는 OJDBC14를 사용할 때 문제가 없었습니다 (OJDBC14가 암시 적으로 SQL 인수 날짜를 변환 한 것 같습니다).하지만 OJDBC5로 마이그레이션하면이 문제가 발생하기 시작합니다. –