ORA-01745와 JDBC의 변수 바인딩 최대 갯수
오류
ORA-01745: 호스트/바인드 변수명이 부적합합니다.
원인
대부분 ,
를 잘못넣으면 생긴다. 하지만 JDBC를 통해서 쿼리를 실행하는 경우 또 다른 원인이 존재한다.
PreparedStatement를 사용 할 때 ?
가 너무 많으면 발생한다.
즉, 바인딩 할 변수가 너무 많으면 ORA-01745
가 발생하기도 한다.
JDBC는 2의 16승인 65,536개까지만 바인딩 가능하다고 한다.
실제로 10만개가량 바인딩을 시도했을 때 해당 에러가 발생했다.
참고
https://dzone.com/articles/too-many-preparedstatement-placeholders-in-oracle