2013年5月8日 星期三

利用SQL*Plus執行SQL->匯出成txt檔->FTP上傳

今天接到的需求是定期要把資料庫的資料格式化後,匯出成txt檔,並上傳到指定FTP。

 1.製作讓批次檔呼叫的sql檔
[spool.sql]
set newpage none --換頁空幾行

set space 0 --欄位間空幾個space
set colsep '|' --分隔符號,需搭配space <> 0時使用
set heading off --是否顯示欄位表頭
set pagesize 30 --一頁行數,設定0時是沒有分頁
set trimspool on --刪除行尾空白
set linesize 2000 --每行長度(超過自動斷行)
set feedback off --是否回寫總筆數
set termout off --是否將執行的command顯示在畫面上

spool C:\test.txt  --指定匯出檔名路徑
select 'test' from dual;
spool off
exit


2.製作file.bat批次檔
連線到sqlplus並執行上述sql,接著上傳ftp
[file.bat]
sqlplus ID/PassWord@DB @spool.sql

ftp 位址
id
pw
put 檔名

exit

3.排程file.bat檔,以後就可以自動執行。

沒有留言:

張貼留言