1

名前付きパイプとOracleSQL* Loaderを使用して、約2,000万行をデータベースにロードしています。

パイプのソースは、単純なFileOutputStreamを使用してパイプに書き込むJavaアプリケーションからのものです。

Oracle SQL * Loaderは、ロードするのに十分なデータを生成するために、Javaアプリケーションで多くの待機を行う必要があることがわかります。

待っていても大丈夫です。ただし、Oracle SQL * Loaderは、次のような出力で約100万行をロードした後に常に存在します。

SQL*Loader-501: Unable to read file (upipe.dat)
SQL*Loader-560: error reading file
SQL*Loader-2026: the load was aborted because SQL Loader cannot continue.

この場合、Javaは次の情報を含むIOExceptionをスローします。

Exception in thread "main" java.io.IOException: Broken pipe
at java.io.FileOutputStream.writeBytes(Native Method)
at java.io.FileOutputStream.write(FileOutputStream.java:284)

Linux環境で動作します。なぜこれが起こるのか考えていますか?

ありがとう。

4

0 に答える 0