Websphere Java アプリケーションで CallableStatement クラスを使用して、ネイティブ SQL プロシージャを呼び出しています。しかし、アプリケーションがデプロイされて実行されると、-302 SqlDataException: DB2 SQL Error: SQLCODE=-302, SQLSTATE=22001, SQLERRMC=3, の sqlcode が返されます。
SQL SP のパラメーターと Java コードをクロスチェックしました。彼らは正しいようです。Java coe スニペット
保護された CallableStatement cs = null;
/* DB2 データソースへの接続を確立します */ dbAgent.connectToDataSource(AEUtils.getDataSource());
/* SP 呼び出しステートメントを準備します */
cs = dbAgent.createCallStatement (DB2StoredProcedure, this.NSPparameterCount);
cs.setString("PA_INSERT_IN", "Y");
この cs.setString("PA_INSERT_IN", "Y"); ステートメントは -302 をスローします。ただし、同じ SP を経由して呼び出すと、スタアロンの Java プログラムが動作します。ここで何か不足していますか?(dbAgent は社内で開発されたヘルパー クラスのオブジェクトであることに注意してください)