오류

ORA-01745: 호스트/바인드 변수명이 부적합합니다.

원인

대부분 ,를 잘못넣으면 생긴다. 하지만 JDBC를 통해서 쿼리를 실행하는 경우 또 다른 원인이 존재한다.

PreparedStatement를 사용 할 때 ? 가 너무 많으면 발생한다.

즉, 바인딩 할 변수가 너무 많으면 ORA-01745 가 발생하기도 한다.

JDBC는 2의 16승인 65,536개까지만 바인딩 가능하다고 한다.

실제로 10만개가량 바인딩을 시도했을 때 해당 에러가 발생했다.


참고

https://dzone.com/articles/too-many-preparedstatement-placeholders-in-oracle