2017-01-09 3 views
0

J'utilise Liferay IDE fourni avec Tomcat pour Liferay Portal 6.1 ... Maintenant j'ai une méthode (sur laquelle je n'ai aucun contrôle) qui crée un insert déclaration en fonction de certaines entrées et exécutez-le contre la base de données .. Il utilise en interne jdbc (et pilote Oracle donc ... comme nous traitons avec Oracle DB)ORA-24816 ... sur serveur embarqué Liferay mais pas sur serveur d'intégration

Cette méthode me donne cette erreur: ORA-24816: Expanded qui après une enquête, je savais que c'est un bogue en oracle quand une colonne CLOB vient avant une colonne VARCHAR dans l'instruction ... et donc l'instruction a besoin de données de liaison non LONG fournies après la colonne LONG ou LOB réelle

à corriger

La chose étrange est que le même code fonctionne bien sur le serveur d'intégration (jboss) !!!

J'ai besoin de connaître la raison ainsi qu'un moyen de la résoudre. En fait, je doute que la raison en est dans le pilote d'oracle

Répondre

0

J'ai remplacé le ojdbc6.jar par celui sur le serveur d'intégration et il a bien fonctionné

0

ORA-24816: données de liens non LONG Expanded fournis après la colonne réelle LONG ou LOB Cause: une valeur Bind de longueur potentiellement> 4000 octets suit de liaison pour LOB ou LONG . Action: Réorganisez les liaisons de sorte que les liaisons LONG ou LOB se trouvent toutes à la fin de la liste de liaison.

Voici un lien vers un fil dans un lieu Oracle discuter de cette question: http://forums.oracle.com/forums/thre...5560&tstart=15

+0

cher ... chèque ce que j'ai écrit dans le post ... C'est pareil que ce que tu dis –