Java spring中的oracle clob插入问题

Java spring中的oracle clob插入问题,java,oracle,spring,clob,ora-01461,Java,Oracle,Spring,Clob,Ora 01461,我想将CLOB值插入我的Oracle数据库,下面是我可以做的。我在插入操作“ORA-01461:只能为插入到长列中绑定长值”时遇到此异常。有人能告诉我该怎么做吗?谢谢 List<Object> listObjects = dao.selectAll("TABLE NAME", new XRowMapper()); String queryX = "INSERT INTO X (A,B,C,D,E,F) VALUES (?,?,?,?,?,XMLTYPE(?))"; OracleLob

我想将CLOB值插入我的Oracle数据库,下面是我可以做的。我在插入操作“ORA-01461:只能为插入到长列中绑定长值”时遇到此异常。有人能告诉我该怎么做吗?谢谢

List<Object> listObjects = dao.selectAll("TABLE NAME", new XRowMapper());
String queryX = "INSERT INTO X (A,B,C,D,E,F) VALUES (?,?,?,?,?,XMLTYPE(?))";
OracleLobHandler lobHandler = new OracleLobHandler();
for(Object myObject : listObjects) {
   dao.create(queryX, new Object[]{
     ((X)myObject).getA(),
     ((X)myObject).getB(),
     new SqlLobValue (((X)myObject).getC(), lobHandler),
     ((X)myObject).getD(),
     ((X)myObject).getE(),
     ((X)myObject).getF()
     },
     new int[] {Types.VARCHAR,Types.VARCHAR,Types.CLOB,Types.VARCHAR,Types.VARCHAR,Types.VARCHAR});
}
List listObjects=dao.selectAll(“表名”,新的XRowMapper());
字符串queryX=“插入X(A,B,C,D,E,F)值(?,,,,,,,XMLTYPE(?)”;
OracleLobHandler=新的OracleLobHandler();
对于(对象myObject:listObjects){
创建(queryX,新对象[]{
((X)myObject.getA(),
((X)myObject.getB(),
新的SqlLobValue(((X)myObject.getC(),lobHandler),
((X)myObject.getD(),
((X)myObject.getE(),
((X)myObject.getF()
},
新的int[]{Types.VARCHAR,Types.VARCHAR,Types.CLOB,Types.VARCHAR,Types.VARCHAR,Types.VARCHAR});
}

您的参数顺序正确吗?这就像SQL语句将LOB设置为第6个参数,但将LOB设置为第3个参数


另外,我假设
getA()
getF()
所有返回字符串值?

我要做的第一件事是从插入中删除C列或F列,以确定是哪一列导致了错误。

是的,所有getter都返回
字符串
值,并且在我的数据库
列C
中有一个
CLOB
数据类型,
列F
有一个
XMLTYPE
。因此,我猜参数的顺序是正确的。