如何使用SQLLoader直接从tar.gz文件将数据加载到我的数据库表中?

时间:2016-04-26 10:25:31

标签: database oracle tar sql-loader gz

我正在尝试从外部tar.gz文件将数据加载到我的oracle数据库表中。我可以使用SQLLoader从标准文本文件轻松加载数据,但如果我有tar.gz文件而不是word文件,我不知道如何做同样的事情。

我发现以下链接有点帮助:

http://www.simonecampora.com/blog/2010/07/09/how-to-extract-and-load-a-whole-table-in-oracle-using-sqlplus-sqlldr-named-pipes-and-zipped-dumps-on-unix/

然而,该链接的作者使用.dat.gz而不是.tar.gz。无论如何使用tar.gz文件中的SQL加载器而不是文本文件将数据加载到我的Oracle数据库表中?

另外,对我来说问题的部分原因是我应该每小时将一个新的tar.gz文件中的数据加载到同一个表中。对于例如在第1小时,我有file1.tar.gz,我将其所有10行数据加载到我的oracle数据库中的TABLE中。在第2小时我有file2.tar.gz,我必须将其10行数据加载到我的oracle数据库中的同一个TABLE中。但是,文件2.tar.gz中的SQLLoader提取的10行不断替换从file1.tar.gz中提取的前10行。任何方式我可以使用SQL Loader将file1.tar.gz中的行保存为行1-10,将file2.tar.gz行保存为行11-20?

1 个答案:

答案 0 :(得分:0)

魔法在" zcat"部分。 zcat可以从压缩文件输出。包括tar.gz。

例如,尝试:zcat yourfile.tar.gz,你会看到输出。在您提供的示例URL中,他们将zcat的输出重定向到SQLLDR可以读取的位置。

相关问题