>>ame 님께서 쓰시길<<
::
:: 오라클의 내용을 execl파일로 저장하기가 가능한가요?????
:: 가능하다면 방법좀 설명해 주세요..초보라 ㅜㅜ
:: 그럼 좋은 답변 기다리겠습니다.
>>ame 님께서 쓰시길<<
::
:: 오라클의 내용을 execl파일로 저장하기가 가능한가요?????
:: 가능하다면 방법좀 설명해 주세요..초보라 ㅜㅜ
:: 그럼 좋은 답변 기다리겠습니다.
확장자가 .xls는 안됩니다.
다만 구분자를 포함한 텍스트화일을 만드신다면
엑셀은 호환이되기때문에 바로 읽어드릴수 있습니다.
결국 확장자만 틀린 엑셀화일이라고 보셔도 됩니다.
텍스트화일 만드는 방법은
1.spool방법
spool c:\emp.txt
select ename||','||job from emp;
spool off
해서 받는 방법
2.util package이용방법
init file 설정
1) $ORACLE_HOME/dbs/init<SID>.ora에 다음 parameter를 지정함.
// OS File 을 두는 디렉토리들을 지정
UNIX일때 : UTL_FILE_DIR=/oracle/oradata/Udata
NT일때 : UTL_FILE_DIR=c:\oracle\UtData
// 이것은 일반 화일 디렉토리로서 여러 개 지정할 수 있다.
2) db shutdown 후 restartup함.
3)procedure 작성
create or replace procedure file_down
is
l_output utl_file.file_type;
l_str varchar2(10000);
begin
/*UNIX일때 : */
l_output := utl_file.fopen ('/oracle/oradata/Udata','emp.txt','w');
/*NT일때 : */
l_output := utl_file.fopen ('c:/oracle/UtData','emp.txt','w');
for i in (select *
from emp
) loop
l_str := i.empno||','||i.ename||','||i.sal||','||i.job ;
utl_file.put_line(l_output,l_str);
end loop;
utl_file.fclose(l_output);
end file_down;
/
4)실행
exec file_down
이렇게 사용하거나
파워빌더 또는 DBA마스터,골든등에 툴을 이용하면 편하고
가장 빠른게 받는건 util package을 이용하는 겁니다.
물론 올릴때는 sqlloader가 빠르고요.
|