overcome 32k limit when inserting oracle clob IN parameter using spring StoredProcedure

后端 未结 3 1815
时光说笑
时光说笑 2021-01-27 06:03

Environment: oracle 11g, spring-jdbc-3.2.2-RELEASE.jar, JDK 1.7, Oracle UCP driver.

I have a stored procedure which insert record to a table with CLOB column. The SP has

3条回答
  •  萌比男神i
    2021-01-27 06:16

    The limit for CLOB in Oracle is 176TB. 32KB is limit for VARCHAR. Your code somewhere uses implicit conversion from VARCHAR to CLOB. In Oracle CLOB must be OUTPUT paramater - even if you are inserting it. Oracle's API assumes that you create empty_clob() on database side, then you return a LOB locator to aplication. The application then uses this LOB locator as filehandle.

    This behaviour is different from other databases.

提交回复
热议问题