使用Oracle外部表访问CSV文件的创建日期



情况

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

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

然后,报告应用程序将使用这些数据。

问题

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

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

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

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

或者还有其他想法吗?

Oracle的哪个版本?

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

最新更新