PL/SQLで書かれたアプリケーションのJavaでWebサービス(WS)インタフェースを作成しています。それは私がWSベースの呼び出しに変換しようとしているインターフェイスパッケージを持っています。さて、その中の手続きの多くは、次のようになります。JavaからPL/SQLプロシージャをコールする
mod_documents_01.rec_fileは、レコードやMODの$ d_documents.document_id_int(NUMBER)とMODの$ d_documents.document_version_int(NUMBER)であるprocedure mod_add_file (
p_file in out mod_documents_01.rec_file,
p_new_id out mod$d_documents.document_id_int%type,
p_new_ver out mod$d_documents.document_version_int%type,
p_flag in out varchar2,
p_errors in out varchar2);
テーブルの列です。
type rec_file is record (
id mod$d_documents_content.id%type,
document_id mod$d_documents.document_id_int%type,
document_version mod$d_documents.document_version_int%type,
name mod$d_documents_content.name%type
) ;
java connection.prepareCall用の適切なPLSQLコードを生成するためのライブラリを作成しました。すべての
declare
p_new_id mod$d_documents.document_id_int%type;
modInterfaceFile mod_documents_01.rec_file;
p_new_ver mod$d_documents.document_version_int%type;
begin
p_new_id := ?;
modInterfaceFile.id := ?;
modInterfaceFile.document_id := ?;
modInterfaceFile.document_version := ?;
p_new_ver := ?;
MOD_INTERFACE.mod_add_file(modInterfaceFile ? ? p_new_id p_new_ver ? ?);
? := p_new_id;
? := modInterfaceFile.id;
? := modInterfaceFile.document_id;
? := modInterfaceFile.document_version;
? := modInterfaceFile.name;
? := p_new_ver;
end;
まず、私の質問は、このアプローチは何かいいですかそこには、任意のより良いです:それは、次のコード生成この例では(私は通常、すべてが1行である、読みやすさのために、新しい行を追加しました)方法?私は、レコードとテーブルの列型の引数をプロシージャに渡す方法に大いに関わっています。エラーは問題がで発生することを示し
PLS-00103: Encountered the symbol "" when expecting one of the following
:
MOD_INTERFACE.mod_add_file(modInterfaceFile ? ? p_new_*HERE*id p_new_ver ? ?);
私は以前に同様のエラーがあったが、ことによって、それらを解決し、それを実行しようと
また、このコードは、エラーを生成し、改行を削除します。しかし、今私は特別な文字はありません。空白だけです。
ご協力いただきありがとうございます。
「MOD_INTERFACE.mod_add_file(modInterfaceFile?p_new_id p_new_ver??);」とは何ですか?あなたは 'MOD_INTERFACE.mod_add_file(modInterfaceFile、?、?、p_new_id p_new_ver、?、?);' – turbanoff
が必要かもしれません。愚かな私。 – Xargos