2014-11-14 55 views
1

我正在使用SQL * Loader将大量CSV文件推送到Oracle数据库。我正在使用JAVA构建智能来创建控制文件的内容。原因是数据的性质使得控制文件的内容随着我获得的每个CSV文件而变化。或者至少我必须打开控制文件并执行少量检查。我想节省创建,开放和其他与文件I/O操作相关的成本。我想维护内存中的控制文件信息,并将该数据结构提供给SQL * Loader命令,而不是指定控制文件。Oracle SQL * Loader能否在没有控制文件的情况下工作

回答

0

SQL * Loader是对错误的工作工具。它被设计用于可重复加载的。显然,这不是你在做什么。

“我想节省与文件I/O操作相关的创建,打开和其他费用的成本。”

而且你的标杆这个繁重的成本... ????

无论如何,如果你真的想从一个不同的文件结构中的每个你需要的东西可以读取文件头,并生成一个动态SQL语句,用于加载该文件的内容的休息时间加载。

个人而言,我会选择顶部使用PL/SQL这一点,提供我能得到到数据库服务器上的文件。如果我不得不从客户端加载它,那么也许Java程序就是答案。但是,通过网络传输文件内容仍然是真正的I/O成本。在这种情况下,将其交付到正确的服务器是最好的节省。

相关问题