谁能建议我如何编写路径来存储我的存储过程在我的 oracle DB 中输出的输出文件?
Can anyone suggest me how i can write the path to store the output file in which my stored procedure outputs in my oracle DB?
假设我的 FTP 服务器的 IP 地址是 xx.xxx.xx.xx
并且我需要将输出文件存储在 D:/example 中。我需要确保我提供的路径在我的 FTP 服务器中。我如何将它包含在我的 fopen 函数中,例如指向我的 FTP 服务器中示例的路径。
一般来说,是这样的:
- 有一个数据库服务器
- 其中一张磁盘上有一个目录
- 该目录将在创建 目录、Oracle 对象
的 create directory
命令中使用
- 它将用作您的 file-related 操作的目标。例如:
- 它将包含作为外部表源的 CSV 文件
- .dmp 文件,数据泵导出的结果,将存储在那里(导入也是如此)
UTL_FILE
将在该目录中创建文件
所有这些意味着您在 FTP 服务器上创建文件的想法可能并不那么容易。
但是,有一种方法:如果您使用指向 FTP 服务器上的目录的 UNC(通用命名约定)创建目录(Oracle 对象),则可能会在那里创建文件。做一些研究;我知道我曾经这样做过(将文件放到应用程序服务器上),但那是很久以前的事了,我不记得我所做的一切。
您可能会考虑的另一个选择是 DBMS_SCHEDULER
包。假设您在数据库服务器上创建一个文件(这是最简单的选择;如果您做得对,它或多或少是微不足道的)。程序(创建文件)完成后,使用 executable
作业类型调用 DBMS_SCHEDULER.CREATE_JOB
并调用操作系统批处理文件,将文件从数据库服务器复制到 FTP服务器。
我只能说这些了;至少,你有值得研究和思考的东西。
假设我的 FTP 服务器的 IP 地址是 xx.xxx.xx.xx
并且我需要将输出文件存储在 D:/example 中。我需要确保我提供的路径在我的 FTP 服务器中。我如何将它包含在我的 fopen 函数中,例如指向我的 FTP 服务器中示例的路径。
一般来说,是这样的:
- 有一个数据库服务器
- 其中一张磁盘上有一个目录
- 该目录将在创建 目录、Oracle 对象 的
- 它将用作您的 file-related 操作的目标。例如:
- 它将包含作为外部表源的 CSV 文件
- .dmp 文件,数据泵导出的结果,将存储在那里(导入也是如此)
UTL_FILE
将在该目录中创建文件
create directory
命令中使用
所有这些意味着您在 FTP 服务器上创建文件的想法可能并不那么容易。
但是,有一种方法:如果您使用指向 FTP 服务器上的目录的 UNC(通用命名约定)创建目录(Oracle 对象),则可能会在那里创建文件。做一些研究;我知道我曾经这样做过(将文件放到应用程序服务器上),但那是很久以前的事了,我不记得我所做的一切。
您可能会考虑的另一个选择是 DBMS_SCHEDULER
包。假设您在数据库服务器上创建一个文件(这是最简单的选择;如果您做得对,它或多或少是微不足道的)。程序(创建文件)完成后,使用 executable
作业类型调用 DBMS_SCHEDULER.CREATE_JOB
并调用操作系统批处理文件,将文件从数据库服务器复制到 FTP服务器。
我只能说这些了;至少,你有值得研究和思考的东西。