使用 Oracle External table 访问 CSV 文件的创建日期

Accessing Created date of a CSV file using an Oracle External table

情况

我在 Oracle 数据库服务器(2008 R2 企业版 Windows 服务器)上有一个名为 inventory.csv 的 CSV 文件。此 CSV 文件用作 Oracle 外部 table.

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

报告应用程序随后会使用这些数据。

问题

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

理想情况下,我希望 "last updated date" 可以作为 table 中的一列进行访问。

一种可能的解决方案是在单独的文件中触发对当前 date/time 的记录,然后将其也作为外部 table 引用。但是,这个解决方案有太多活动部件,如果可能的话,我更喜欢更简单的东西。

我知道 CSV 文件本身知道它是什么时候创建的...我想知道 Oracle 外部 table 是否有任何方法从 CSV 中读取 "Created" 日期文件属性?

或有其他想法?

什么版本的 Oracle?

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