この通りにやれば出来ますが、一部ハマった点があったのでメモしておきます。
まず、接続は「デフォルトコネクション」を使います。
Connection con = DriverManager.getConnection("jdbc:default:connection");
最初、'jdbc:db2://hostname:port/dbname'でやったところ見事にハマりました。
まず「resultset closed invalid operation」とか何とか出て、気持ち悪いなと思ったもののconnectionをクローズせずにやったところ「java.sql.CallableStatement.executeQuery() was called but no result set was returned.」だのなんだの。
デフォルトコネクションを使ったところ、connectionをcloseしても問題なく使えました。
次に
db2 "call sqlj.refresh_classes ( void )"
です。これを実行すると、SQL0444N rc=4 が出ました。
SQL0444N ルーチン "*_classes" (特定名 "SQL080417102058370")
が、アクセスできないライブラリーまたはパス "...refresh_classes"、関数
"sqlj.refresh_classes" のコードで実行されています。 理由コード: "4"
SQLSTATE=42724
これも大分ハマったのですが、
以下のように'void'を取ると問題なく実行できました。
db2 "call sqlj.refresh_classes()"
以上です。
0 件のコメント:
コメントを投稿