Oracle의 테이블에 해당 컬럼의 사이즈가 충분함에도 불구하고
PreparedStatement를 통해 한글로 된 String을 세팅하고 실행하는 경우 발생하는 에러
데이터 크기가 해당 유형의 최대 크기보다 큽니다: 3000
- 해결방법
1. SQL에 직접 작성한다.
2. classes12.zip의 버전을 다운하여 해결한다. (JDBC1.4->1.2)
3. setString()대신에 setCharacterStream()을 사용한다.
java.sql
Interface PreparedStatement
.
.
.
public void setString(int parameterIndex, String x)
throws SQLExceptionSets the designated parameter to the given Java String value.
The driver converts this to an SQL VARCHAR or LONGVARCHAR value
(depending on the argument's size relative to the driver's limits on VARCHAR values)
when it sends it to the database.
API를 보면 드라이버마다 차이가 있는 것 같습니다.