我开发了一个解决方案,其中 PL/SQL Oracle API 生成需要打印的 PDF(包括完整文件路径)的文件名(参数 1),然后使用 DBMS_SCHEDULER 传递该文件名和打印机名称(参数 2 ) 到以下批处理文件:
"C:\Program Files (x86)\Adobe\Acrobat 4.0\Reader\AcroRd32.exe" /t %1 %2
但是,有时传递给批处理文件的文件名不存在。因为该文件不存在 Adobe 继续运行(在后台)。这会阻止 API 再次执行,直到有人手动结束 Windows 进程,因为 DBMS 作业已连接到 Adobe 实例。
不幸的是(除非 Oracle 中有办法检查文件是否存在于目录中)我无法在 Oracle 端解决这个问题,因此我需要在 Windows 端解决它。
因此,是否有任何其他逻辑可以添加到批处理文件或任何其他脚本中,以验证文件是否存在,如果文件不存在,则结束该过程。该解决方案必须高效,因为 PDF 文件的打印对时间很敏感。
如果有人确实有针对此问题的 Oracle 端解决方案,那么我将很乐意提供相关代码。
提前致谢。