laalaal
2001-07-31 19:50:55
1
8244

samfile 만드는 방법


오라클에서 제공하는 stored procedure중 utl_file이란 package를 이용하시는 것입니다.
이 패키지를 이용하기 위해서는 우선 다음의 작업이 필요합니다.
1.initSID.ora 파일에
utl_file_dir=sam파일이 쓰일 디렉토리 경로명
을 설정합니다.(물론 파라미터가 바뀌었으니 DB shutdown후 재 기동
force로 startup 하셔도 되겠지요.)

2.SYS 사용자로 접속하셔서
SQL>start $ORACLE_HOME/rdbms/admin/utlfile.sql
SQL>start $ORACLE_HOME/rdbms/admin/prvtfile.plb
을 실행하셔서 utl_file 패키지 프로그램을 사용할 수 있도록 합니다.
단 주의하실 것은 utl_file_dir로 잡힌 디렉토리는 사용권한이
oracle로 잡혀 있으니 file write할 수 있도록 권한을 주어야 합니다.
예로 unix는 chmod 를 이용하시구요

create or replace procedure send_file
is
l_output utl_file.file_type;
l_str varchar2(1000);
begin
l_output := utl_file.fopen ('/oracle/sql/sql01','emp.txt','w');
for i in (
select empno , ename , sal, job
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 send_file;
/


이렇게 프로그램이 만들어지면
SQL>exec send_file
하는 것만으로 원하는 emp.txt 라는 SAM 파일이 /oracle/sql/sql01 위치에 만들어진답니다.

날짜를 원하는 포맷으로 받거나 출력 결과를 delimiter로 받거나 하는
것은 응용하시면 됩니다.

laalaal~
0
0
  • 댓글 1

  • 111
    2004-06-29 17:09:53
    l_output := utl_file.fopen ('/oracle/sql/sql01','emp.txt','w');
    for i in (
    select empno , ename , sal, job
    0
  • 로그인을 하시면 댓글을 등록할 수 있습니다.