-- 좀 지전분하게 설명달았는데 참고사이트 이용하면 어렵지 않게 구현 할 수 있을겁니다. -- 또한, 프로시저로 만들어서 JOB 등록해 놓으시면 매일 작업해야되는 일도 없겠죠.^^ declare V_HANDLE UTL_FILE.FILE_TYPE; V_DIR_NM VARCHAR2(50) := '디렉토리명'; --텍스트파일이 저장될 디렉토리명(select * from ALL_DIRECTORIES 에 등록된이름사용) V_FILE_NM VARCHAR2(50); V_DESC VARCHAR2(32767); V_CONN UTL_TCP.CONNECTION; CURSOR cur IS SELECT * FROM SCOTT.EMP; begin -- Test statements here --FILE NAME V_FILE_NM := TO_CHAR(SYSDATE, 'YYYYMMDD')||'.txt'; --TEXT 파일로 저장 V_HANDLE := UTL_FILE.FOPEN(V_DIR_NM, V_FILE_NM, 'w', 32767); FOR c IN cur LOOP V_DESC := NULL; V_DESC := C.EMPNO||','||C.EMPNM||CHR(13); --텍스트내용 UTL_FILE.PUT_LINE(V_HANDLE, V_DESC); UTL_FILE.FFLUSH(V_HANDLE); END LOOP; UTL_FILE.FCLOSE(V_HANDLE); --FTP 전송(아래 URL의 FTP 패키지 필요) --http://www.oracle-base.com/articles/misc/ftp-from-plsql.php#shell-script --FTP API(ftp.pks, ftp.pkb) 다운받아서 패키지를 생성한다. V_CONN := FTP.LOGIN('FTP주소', '21', '사용자ID', '패스워드'); ftp.binary(V_CONN); ftp.put(v_conn, V_DIR_NM, V_FILE_NM, '/업로드 디렉토리경로/'||V_FILE_NM); ftp.logout(V_CONN); end;