티스토리 뷰
하~~ 진짜 이 문제로 골치 너무 아팠다.
특정 기간을 검색 조건으로 주면, 해당 기간에 맞는 데이터가 select 되게 해야하는 거였는데, 간단한 쿼리였는데도 자꾸만 400에러 (bad request)가 나더라..
더 미치겠는건 로컬에서는 잘 돌아가서 원하는 데이터만 select 되어 조회되는데, 운.영.서.버 에서는 자꾸만 400에러를 뱉었음 ㅠㅠㅠ... (로컬에서 되고, 운영에서 안될때 제일 난감하다.. 회사 서버였기때문에 파일 반영 후 서버 on/off를 내 맘대로 할 수 없으므로 로그 찍기가 힘듦 ㅠㅠ)
처음에는 문제 원인이 뭔지 아예 몰라서 무작정 400에러만 찾아봤다.
400에러 원인은 여러가지있었지만
1) 제일 많았던 건 '파라미터'를 잘못 넘겨줬을 때.
-> 이건 나의 원인은 아니었다. 로컬에서는 똑같은 파라미터를 던져도 잘만 나왔음.
2) 권한인증 문제
-> 이건 안드로이드인 경우에만 그런듯 했음
하루 종일 400에러만 찾아다니다가
결국 내 맘대로 서버 on/off가 가능할때 로그를 집어넣어서 봤더니..
왠걸.. 해당 쿼리를 select 하고는 그 결과를 못 뱉어내서 그 다음 진행이 안된것이다...
그 뒤로도 몇 시간의 삽질 끝에 문제를 찾아냈다...
ORA-01861 : literal does not string 어쩌구..
보니까 이게 쿼리에서 to_date 함수를 쓸 때 많이 나타나는 문제인데.
TO_DATE(TO_CHAR(날짜컬럼, 'yyyy-mm-dd'))
이런식으로 써 있어서 났던 에러임 ㅠㅠㅠ....
TO_DATE(TO_CHAR(날짜컬럼, 'yyyy-mm-dd'), 'yyyy-mm-dd')
이렇게 써줘야 쿼리가 잘 돌아감
좀 더 알아봤더니 이게 JDBC 버전이 높으면 자동형변환이 되어 문제없이 실행되는 거였더라 ㅠㅠ..
toad를 써줘도 형변환이 자동으로 돼서 문제없이 지나갈 수 있던 쿼리임 ㅠㅠ...
추측 상 로컬에서는 해당 쿼리가 문제 없이 돌아간 이유는, 내 로컬의 JDBC버전이 높아서 그런듯 했음
휴~! 그래도 해결해서 기분은 좋다
'Oracle' 카테고리의 다른 글
오라클 문자열 합치기 (0) | 2019.04.11 |
---|---|
ORDER BY DECODE (0) | 2017.11.09 |
오라클 nclob 형 데이터 뿌려주기 두번째 방법 (0) | 2017.03.08 |
오라클 mybatis 이용하여 clob형 데이터 뿌려주기 (0) | 2017.02.06 |
테이블 추가 시 시퀀스 증가시키기 (0) | 2017.02.06 |