2010-10-26 233 views
1

代码目录对象是这样的:问题创造甲骨文

本来:(http://www.oracle-base.com/articles/misc/FTPFromPLSQL.php)

该方法使用一UTL_TCP和UTL_FILE包的组合来创建一个简单的FTP API(ftp.pks,ftp.pkb)。一旦API被加载到适当的模式简单的FTP命令就可以启动如下:

CREATE OR REPLACE DIRECTORY my_docs AS '/u01/app/oracle/'; 
SET SERVEROUTPUT ON SIZE 1000000 
@c:\ftp.pks 
@c:\ftp.pkb 


-- Send an ASCII file to a remote FTP server. 
DECLARE 
    l_conn UTL_TCP.connection; 
BEGIN 
    l_conn := ftp.login('ftp.company.com', '21', 'ftpuser', 'ftppassword'); 
    ftp.ascii(p_conn => l_conn); 
    ftp.put(p_conn  => l_conn, 
      p_from_dir => 'MY_DOCS', 
      p_from_file => 'test_get.txt', 
      p_to_file => '/u01/app/oracle/test_put.txt'); 
    ftp.logout(l_conn); 
END; 
/

的问题是,当我尝试创建的目录对象,我得到一个错误,指出创建符号wasnt预期。

这条线应该在哪里创建?

+4

目录创建的语法是绝对正确的。你能否提供错误堆栈来更精确地定义问题? – andr 2010-10-26 13:40:41

+2

你使用什么工具?这是一个SQL * Plus脚本,它可能不适用于其他SQL客户端。 – 2010-10-26 14:00:24

+1

可以肯定的是,你的数据库在Linux/Unix系统上,对吧?也就是说,'/ u01/app/oracle /'是文件系统上的有效位置? – 2010-10-26 17:13:35

回答

0

脚本中的create statement行之前是否有任何内容?看起来可能有些东西是你遗漏的。