我能直接将Oracle存储过程中的txt文件保存到ftp吗?

3
我需要从Oracle生成一个TXT文件并将其放入FTP服务器中,我已经创建了用于构建文件的存储过程,但是是否可能直接从存储过程将其传输到FTP?谢谢。
1个回答

3
您肯定可以(不确定您使用的Oracle版本,但只要是9i++,您应该是安全的)。
您需要同时使用UTL_FILE(写文件)和utl_tcp(实际进行文件传输)的组合。
此链接详细介绍了这种方法(还介绍了其他一些方法),并提供了示例。 http://www.oracle-base.com/articles/misc/FTPFromPLSQL.php

嗨,我在处理过程中遇到了麻烦,执行时出现以下消息:“文件或 LOB FILEOPEN 操作失败,系统找不到指定的文件。” 这意味着操作失败,系统无法找到该文件。我发现第一行很奇怪:“CREATE OR REPLACE DIRECTORY my_docs AS '/u01/app/oracle/';”,因为它不允许我在任何过程的任何部分创建此目录,我认为问题可能出在这里,但是我不确定这个创建行实际上是创建一个目录还是创建一个变量或对象。 - Giancarlo Solarino
@Giancarlo Solarino utl_file 只能写入服务器(我相信这就是你正在做的)。可能它正在写入的目录 Oracle/UTL_FILE 缺少访问权限。你可能需要联系数据库管理员获取/查找 utl_file 有访问权限的临时目录。(http://www.adp-gmbh.ch/ora/plsql/utl_file.html) 你有实际的错误代码吗? - Harrison

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接