XML とバイナリ データの両方の DBMS として eXist を使用しています。XMLDB APIを使用してJavaプログラムを介して対話しています。データを保存するには、次のように XQuery でxmldb:store関数を使用します。
xmldb:store('Collection Name', 'Id','Document Contents') //for XML documents
xmldb:store('Collection Name', 'Id','Base64 Encoded Contents', 'application/octet-stream') //for binary data
フォルダー内のファイルを読み取り、各ファイルに対して適切なストア関数を呼び出してデータベースに保存するプログラムを作成しようとしています。バイナリ データは、画像、pdf ファイル、swf アニメーションなどで構成されています。
ほとんどのリソースでプログラムを起動すると、アップロードはエラーなしで完了しますが、一部のリソースでは次の例外が発生します。
XMLDBException: クラス org.exist.xmlrpc.RpcConnection でメソッド retrieve の呼び出しに失敗しました: 結果セットが不明またはタイムアウトになりました
プログラムを起動するたびに、このエラーが別のファイルに表示されます。約 250 個のファイルを含むディレクトリで、7 ~ 12 個のエラーが発生します。期限が切れるタイムアウトの可能性があると思いましたが、eXistサーバーは仮想マシン上にあるため通信が非常に高速であり、さらにディレクトリに含まれるファイルの種類が異なり、小さなxmlファイルでもエラーが発生しますが、たとえば、はるかに大きな SWF アニメーションを格納します。
サーバーへのすべてのリクエストはシーケンシャルで、私以外にそれを使用するユーザーはいません。
原因が何であるかを理解するために誰かが私にアドバイスをくれることを本当に願っています. 前もって感謝します :)