假设我的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 服务器。
这就是我能说的;至少,你有一些东西需要研究和思考。