Je souhaite insérer une valeur CLOB dans ma base de données Oracle et voici ce que je pourrais faire. J'ai reçu cette exception lors de l'insertion de l'opération "ORA-01461: peut lier une valeur LONG uniquement pour insérer dans une colonne LONG". Est-ce que quelqu'un pourrait me dire ce que je devrais faire? Merci.Problème d'insertion de clous d'oracle au printemps
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});
}
oui tous les getters retournent des valeurs de 'String' et dans ma base de données' la colonne C' a un type de données 'CLOB' et' colum F' a un 'XMLTYPE'. Par conséquent, je suppose que les paramètres sont dans le bon ordre. – haluk