根据结果在SQL脚本中移动xml文件

根据结果在SQL脚本中移动xml文件,xml,redhat,Xml,Redhat,我正在寻找一种方法,根据查询结果将一些文件移动到RedHat Linux上的“拒绝”目录。数据库是Oracle 11gr2 所有四个文件都将一次性处理。通过FTP进程将它们放在共享上,一个计划的OEM作业每15分钟检查一次XML文件的存在 当它看到有XML文件要处理时,它会将它们提取出来,用xmllint验证它们,并将这些文件复制到一个工作目录中 然后,根据查询中WHERE子句的结果,将文件加载到外部表中 加载过程中,如果文件失败或包含一条坏记录,是否需要将其移动到已拒绝的文件夹 我的测试用例中

我正在寻找一种方法,根据查询结果将一些文件移动到RedHat Linux上的“拒绝”目录。数据库是Oracle 11gr2

所有四个文件都将一次性处理。通过FTP进程将它们放在共享上,一个计划的OEM作业每15分钟检查一次XML文件的存在

当它看到有XML文件要处理时,它会将它们提取出来,用xmllint验证它们,并将这些文件复制到一个工作目录中

然后,根据查询中
WHERE
子句的结果,将文件加载到外部表中

加载过程中,如果文件失败或包含一条坏记录,是否需要将其移动到
已拒绝的
文件夹

我的测试用例中有4个XML文件:

  • 1是正确的。
    • 加载时没有问题
  • 1有一个坏记录和一个好记录
    • 正确的记录已正确加载,而错误的记录未正确加载。但我希望整个“坏”文件不被加载,在没有加载到oracle中之后,我希望将该文件移动到“被拒绝”文件夹中
  • 1有一个XML错误
    • 被xmllint正确拒绝并移动到“已拒绝”文件夹
  • 1未命中标记内的值。
    • 拒绝,因为它不符合强制值

提前谢谢

根据XSD或DTD验证XML文件可以包括正则表达式。由于XSD/DTD将在运行时被读入内存,因此您可以根据需要注入实际的正则表达式,以便您的测试用例完成其工作


查看一下,例如,了解更多信息。

您的文件正在验证中,因此我不清楚还缺少什么。您好,Wimbo,测试案例是,如果文件内容与我的查询不匹配,例如,生成年份的最后两位数字与序列号的最后两位数字不匹配,则应将文件移动到被拒绝的文件夹。因此,很有可能xml文件经过验证,但仍然不足以导入数据库。