Oracle plsqlストアドプロシージャを使用して、いくつかのxmlドキュメントを検証するためにxmlスキーマを登録しようとしています。コードの一部は次のとおりです。
begin
dbms_xmlschema.registerschema(
schemaurl => 'http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd',
SCHEMADOC => bfilename('XMLDIR','xmldsig-core-schema.xsd'),
local => false,
gentypes => false,
gentables => false,
);
end;
私の XML スキーマはローカルではないため、ローカルをfalseに設定する必要があります。これらのステートメントはすべて SYS ユーザーの下で実行されることを正確に示します。
私はすでにディレクトリを作成し、次のコマンドで全員にアクセスを許可しています:
create or replace directory XMLDIR as '/absolute/path/to/xmlschema';
create public synonym XMLDIR for XMLDIR;
GRANT ALL ON DIRECTORY XMLDIR TO PUBLIC;
最初の plsql ブロックを実行する前にファイルxmldsig-core-schema.xsdがディスク上に存在しない場合、結果はORA-22288エラー (ファイルまたは LOB 操作文字列が失敗した文字列) になることに気付きました。そのため、以前にxmldsig-core-schema.xsdファイルを作成しました。
*dbms_xmlschema.registerschema...* を実行すると、エラーORA-03113 が表示されます: 通信チャネルのファイルの終わり
どうしたの ?何か案は ?