【发布时间】:2016-04-27 01:11:39
【问题描述】:
我正在尝试将数据从外部 tar.gz 文件加载到我的 oracle 数据库表中。我可以使用 SQLLoader 从标准文本文件轻松加载数据,但如果我有 tar.gz 文件而不是 word 文件,我不确定如何做同样的事情。
我发现以下链接有些帮助:
但是链接的作者使用的是 .dat.gz 而不是 .tar.gz。无论如何,是否可以使用 SQL 加载器从 tar.gz 文件而不是文本文件将数据加载到我的 Oracle 数据库表中?
另外,对我来说,部分问题是我应该每小时将新 tar.gz 文件中的数据加载到同一个表中。例如在第 1 小时,我有 file1.tar.gz 并将其所有 10 行数据加载到我的 oracle 数据库中的 TABLE 中。在第 2 小时,我有 file2.tar.gz,我必须将它的 10 行数据加载到我的 oracle 数据库中的同一个表中。但是 SQLLoader 在 file2.tar.gz 中提取的 10 行不断替换从 file1.tar.gz 中提取的前 10 行。任何方式我都可以使用 SQL Loader 将 file1.tar.gz 中的行保存为第 1-10 行,将 file2.tar.gz 行保存为第 11-20 行?
【问题讨论】:
-
tar 是包含单个文本文件,还是多个文件,或包含文件的目录?
-
@AlexPoole 单个文本文件。对我来说,部分问题是我应该每小时将新 tar.gz 文件中的数据加载到同一个表中。例如在第 1 小时,我有 file1.tar.gz 并将其所有 10 行数据加载到我的 oracle 数据库中的 TABLE 中。在第 2 小时,我有 file2.tar.gz,我必须将它的 10 行数据加载到我的 oracle 数据库中的同一个表中。但是 SQLLoader 在 file2.tar.gz 中提取的 10 行不断替换从 file1.tar.gz 中提取的前 10 行。我可以使用 SQL Loader 将 file1.tar.gz 中的行保存为第 1-10 行,将 file2.tar.gz 行保存为第 11-20 行吗?
-
请将该信息添加到问题中,而不是作为评论;还要添加您的控制文件。我猜你有
truncate或replace,而不是append? -
@AlexPoole 是的,我在控制文件中截断了。我用 append 替换了它并得到了预期的结果。许多坦克!
标签: database oracle tar sql-loader gzip