0

情况

我有一个名为 inventory.csv 的 CSV 文件,位于 Oracle 数据库服务器(2008 R2 Enterprise Edition Windows Server)上。此 CSV 文件用作 Oracle 外部表。

每小时,一个计划任务(Windows 任务计划程序)执行一个 .bat 文件,该文件复制更新版本的 inventory.csv,覆盖原始文件。

然后数据由报告应用程序使用。

问题

使用inventory.csv 中数据的应用程序无法知道上次更新数据的时间。

理想情况下,我希望“最后更新日期”可以作为表格中的一列访问。

一种可能的解决方案是在单独的文件中触发当前日期/时间的日志记录,然后也将其作为外部表引用。然而,这个解决方案有太多的移动部件,如果可能的话,我更喜欢更简单的东西。

我知道 CSV 文件本身知道它是什么时候创建的……我想知道 Oracle 外部表是否有任何方法可以从 CSV 文件属性中读取“创建”日期?

还是有其他想法?

4

1 回答 1

2

什么版本的甲骨文?

如果您使用的是 11.2 或更高版本,则可以使用外部表的预处理器功能在文件加载之前对其运行 shell 脚本/批处理文件。我的偏见是为了简单——让预处理脚本获取日期,将其存储到单独的文件中,并有一个单独的外部表来加载和公开该数据。这可能比将日期添加到每一行更容易。

于 2016-09-06T17:12:04.090 回答