Da Ihnen ein Code-Snippet fehlt (es wäre hilfreich, wenn Sie es veröffentlichen könnten), können wir nur über mögliche Ursachen spekulieren. Eine Sache, auf die Sie bei Inout-Parametern hinweisen sollten, ist, dass Sie beide Eingabewerte für sie festlegen müssen, nämlich statement.setX (n, value) und registrieren Sie sie bei jeder Verwendung als Ausgabeparameter, statement.registerOutParameter (n, type) . Siehe diesen Link von Oracle JDBC-Dokumentation für ein vollständigeres Beispiel:
http://docs.oracle.com/javadb/10.10.1.2/ref/rrefjdbc75719.html
Sie werden auch die WebSphere Application Server-Datenquellen cachen Callablestatements standardmäßig (auf CallableStatement.close) bewusst sein wollen, die den Aufruf beinhaltet der CallableStatement.clearParameters, der die Parameterwerte löscht und die von ihnen gehaltenen Ressourcen freigibt. Es ist möglich, dass es auch die Registrierung von Out-Parametern löscht. Um mit dem Deaktivieren des Anweisungscaches zu experimentieren, konfigurieren Sie statementCacheSize = 0 für die Datenquelle. Wenn JDBC 4.0 oder höher verwendet wird, kann alternativ eine einzelne Anweisung über CallableStatement.setPoolable (false) nicht cachefähig gemacht werden. Um es klar zu sagen, ich empfehle die Deaktivierung des Statement-Caching nicht als Lösung, sondern als ein Experiment, das Ihnen hilft, die Ursache einzugrenzen.
Akzeptieren Sie die Antwort, wenn Sie sich nützlich fühlen – MozenRath