oracle sql loader无法从管道读取

时间:2012-09-06 15:27:04

标签: java linux oracle pipe sql-loader

我正在使用命名管道和 Oracle SQL * Loader 将大约2000万行加载到数据库中。

管道的来源来自Java应用程序,该应用程序使用简单的 FileOutputStream 写入管道。

可以看出,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环境中运行。 知道为什么会这样吗?

感谢。

0 个答案:

没有答案