2014-03-03 3 views
0

파일 시스템에서 ftp를 통해 파일을 업로드하려고하는데이 광고 http://www.oracle-base.com/articles/misc/ftp-from-plsql.php의 예를 사용하여 문제없이 연결할 수 있으며 연결을 수행 할 수 있지만 파일을 업로드하면 오류가 표시됩니다. 550 파일을 찾을 수 없기 때문에, 나는 그것이 오라클 xe 윈도우에서 왔기 때문에 내가 프로그램에 URL을 두는 이유라고 생각합니다.oracle xe ftp 업로드

내가 제대로 URL을 넣는 지 아는 사람이 있습니까? 또는 내가 뭘 잘못하고 있니? 당신이 파일이 오라클 디렉토리 여야 업로드 원격 디렉토리를 참조 문서에서

DECLARE 
    l_conn UTL_TCP.connection; 
BEGIN 
    l_conn := ftp.login('IPADDRES', '21', 'USR', 'PWD'); 
    ftp.binary(l_conn); 
    ftp.get(l_conn, 
     'C:\oraclexe\app\oracle\files\file.pdf', 
     'C:\FTP\files', 
     'file.pdf'); 
    ftp.logout(l_conn); 
END; 
+1

당신은 검색하려는를 파일을 원격 시스템에서 Oracle 서버로 전송하거나 Oracle 서버에서 원격으로 파일을 전송할 수 있습니까? 세 번째 매개 변수는 파일 경로가 아닌 오라클'DIRECTORY' 객체 이름이어야합니다. 그래도 오류와 관련이 있는지 확실하지 않습니다. –

+0

ok, 조금 읽음 utl_file_dir 매개 변수가 이미 쓸모 없다는 것을 깨달았으므로이 명령으로 두 개의 폴더를 만드십시오. FILE_ORIGIN 디렉토리를 'C : \ OracleXE \ app \ oracle \ files'로 만들거나 바꿉니다. FILE_DESTINY 디렉토리를 'C : \ ftp'로 만들거나 바꿉니다. FILE_ORIGIN 디렉토리에 대한 읽기, 쓰기 권한을 public에 부여합니다. FILE_DESTINY 디렉토리에 대한 읽기, 쓰기 권한을 public에 부여합니다. 내 코드는 다음과 같습니다. l_conn : = ftp.login ('IP', '21 ','usr ','pwd '); ftp.binary (l_conn); ftp.get (l_conn, 'FILE_ORIGIN/file1.pdf' 'FILE_DESTINY' 'file2.pdf'); ftp.logout (l_conn); – Mariah

+0

두 번째 매개 변수가 UTL_FILE_DIR (/OracleXE/app/oracle/files/file.pdf) 경로가 완벽하게 작동하지만 FILE_ORIGIN이 작동하지 않을 때 경로가 남겨진 경로 인 경우 무엇을 잘못하고 있습니까? – Mariah

답변

0

:

여기 내 코드입니다.

 
    SQL> CREATE OR REPLACE public DIRECTORY MY_DOCS as 'C:\FTP\files'; 
  • 다음 원격 데이터베이스에 디렉토리를 생성 만이로 사용할 수있을 것입니다 구성 :
 
    ftp.get(
     p_conn  => l_conn, 
     p_from_file => 'C:\oraclexe\app\oracle\files\file.pdf', 
     p_to_dir => 'MY_DOCS', 
     p_to_file => 'file.pdf');