Я не могу вставить довольно большой XML в столбец Oracle XMLType, используя драйвер JDBC и Spring JdbcTemplate.
Строка не маленькая, поэтому я создаю CLOB
и передаю ее XMLTYPE(?)
в команде вставки:
String insertSql = "INSERT INTO tab (xmlcol) VALUES (XMLTYPE(?))";
int[] types = new int[] {Types.CLOB};
SqlLobValue xmlLob = new SqlLobValue(xmlString);
Object[] params = new Object[] {xmlLob};
int status = jdbcTemplate.update(insertSql, params, types);
Все в порядке, когда xmlString
маленькое - например 2 KB
, но когда оно больше (например 450 KB
) возникает исключение SQLException
с таким сообщением:
ORA-01461: can bind a LONG value only for insert into a LONG column
Как вставить большой XML-документ в столбец XMLType?
Подробности: я использую базу данных Oracle 12.1, Spring 4.3, ojdbc7 12.1.