谁能建议我如何编写路径来存储我的存储过程在 oracle DB 中输出的输出文件?



假设我的FTP服务器的IP地址是xx.xxx.xx.xx,我需要将输出文件存储在D:/example中。我需要确定我给出的路径在我的FTP服务器中。我怎样才能把它包含在我的 fopen 函数中,就像指向我的 FTP 服务器中示例的路径一样。

一般来说,它是这样的:

  • 有一个数据库服务器
  • 其中一个磁盘上有一个目录
  • 该目录将在创建目录的命令中使用create directory,Oracle对象
  • 它将用作文件相关操作的目标。例如:
    • 它将包含作为外部表源的CSV文件
    • .dmp文件,数据泵导出的结果,将存储在那里(导入也是如此)
    • UTL_FILE将在该目录中创建文件

所有这些都意味着您在FTP服务器上创建文件的想法可能并不那么容易。

但是,有一种方法:如果您使用指向FTP服务器上的目录的UNC(通用命名约定)创建目录(Oracle对象),则可以在那里创建文件。做一些研究;我知道我曾经这样做过(将文件放到应用程序服务器上),但那是很久以前的事了,我不记得我所做的一切。

您可能会考虑的另一个选项是DBMS_SCHEDULER包。假设您在数据库服务器上创建了一个文件(这是最简单的选项;如果操作正确,它或多或少是微不足道的)。完成该过程(创建文件)后,使用executable作业类型调用DBMS_SCHEDULER.CREATE_JOB,并调用操作系统批处理文件,该文件会将文件从数据库服务器复制到 FTP 服务器。

这就是我能说的;至少,你有一些东西需要研究和思考。

相关内容

  • 没有找到相关文章

最新更新