これは長い間私を困惑させてきたので、私はここでいくつかの助けを得ようとしています:)
JDBCを使用して古いSybaseAdaptiveServer 6に接続しています(!!!)オンラインでJDBCドライバーを見つけることさえできなかったので、インストールディレクトリからコピーしました:)
これで、挿入とクエリ、および残りのすべてのdb操作は正常に機能しますが、ストアドプロシージャを呼び出すときに問題が発生します。まず、コードのスニペットから始めましょう。
CallableStatement loginProcedure = connection.prepareCall("{call Login}");
loginProcedure.executeUpdate();
これは、コードを呼び出す通常の手順です。Loginプロシージャはパラメータを取得せず、何かを出力しません。それが行う唯一のことは、AiColという名前のデータベースにバリバールを作成することです。この投稿もすぐに手順コードで更新します。
上記のコードを実行すると、標準の構文例外が発生します。
com.sybase.jdbc.SybSQLException: ASA Error -131: Syntax error near 'Login'
at com.sybase.tds.Tds.processEed(Tds.java)
at com.sybase.tds.Tds.nextResult(Tds.java)
at com.sybase.jdbc.ResultGetter.nextResult(ResultGetter.java)
at com.sybase.jdbc.SybStatement.nextResult(SybStatement.java)
at com.sybase.jdbc.SybStatement.executeLoop(SybStatement.java)
at com.sybase.jdbc.SybCallableStatement.execute(SybCallableStatement.java)
誰かが以前にこの問題に遭遇しましたか?IN / OUTパラメータのないストアドプロシージャを呼び出すのは初めてなので、何か間違ったことをしている可能性があります:/
前もって感謝します!/ ivo