標籤:style http color 使用 檔案 ar 資料 art div
該執行個體實現了通過windows定時任務來實現了將資料庫中指定資料表資料匯出為txt文字格式設定。其思路是通過可執行檔bat檔案去調用匯出資料指令碼,然後再在windows定時任務中調用該bat檔案來實現。該樣本需要能夠啟動並執行sqlplus環境,因此需要安裝Oracle用戶端等可運行環境。 實現了將資料庫中日誌表資料匯出到指定檔案夾下的.log檔案,且該檔案的命名方式採用按天來匯出的格式(如:C:\HttpLog\20130115.log),當然具體路徑根據你的需求可進行自訂設定。如果你不想建立windows定時任務來匯出該日誌,你也可以定期雙擊運行logout.bat檔案即可實現。 spool是sqlplus的命令,必須在sqlplus中使用,主要完成以標準輸出方式輸出sqlplus的命令及執行結果,一般常使用者格式化匯出oracle表資料。 對於spool資料的sql語句,最好是自訂格式,以方便程式直接匯入 ,樣本SQL語句如:select col1||‘,‘||col2||‘,‘||col3||‘,‘||col4||‘,‘||to_number(to_char(col5,‘YYYYMMDD‘)) from table_name; spool命令常用設定:set colsep‘,‘; //-域輸出分隔字元 set newp none //設定查詢出來的資料分多少頁顯示,如果需要連續的資料,中間不要出現空行就把newp設定為none,這樣輸出的資料行都是連續的,中間沒有空行之類的 set echo off; //顯示start啟動的指令碼中的每個sql命令,預設為on set echo on //設定運行命令是是否顯示語句 set feedback on; //設定顯示“已選擇XX行” set feedback off; //回顯本次sql命令處理的記錄條數,預設為on即去掉最後的“已經選擇10000行”set heading off; //輸出域標題,預設為on 設定為off就去掉了select結果的欄位名,只顯示資料 set pagesize 0; //輸出每頁行數,預設為24,為了避免分頁,可設定為0。 set linesize 80; //輸出一行字元個數,預設為80 set numwidth 12; //輸出number類型域長度,預設為10 set termout off; //顯示指令碼中的命令的執行結果,預設為on set trimout on; //去除標準輸出每行的拖尾空格,預設為off set trimspool on; //去除重新導向(spool)輸出每行的拖尾空格,預設為off set serveroutput on; //設定允許顯示輸出類似dbms_output。 set timing on; //設定顯示“經過時間:XXXX”。 set autotrace on; //設定允許對執行的sql進行分析。 set verify off //可以關閉和開啟提示確認資訊old 1和new 1的顯示。 1、建立資料庫日誌表匯出為文字檔的指令碼tabout.ctl或tabout.sql注意:該日誌匯出後在c:\HttpLog目錄下tabout.ctl指令碼內容如下:SET NEWPAGE NONE SET HEADING OFF SET TERM OFFSET SPACE 0 SET PAGESIZE 0 SET TRIMOUT ON SET TRIMSPOOL ONSET LINESIZE 2500set feedback offset echo offSET VERIFY OFFcolumn v_date new_value filename; select to_char(sysdate,‘yyyymmdd‘) || ‘.log‘ v_date from dual; spool ..\HttpLog\&&filename select id||‘,‘||name from orcluser.test; spool off;exit; 2、建立調用該指令碼的logout.bat檔案logout.bat內容如下:mkdir ..\HttpLog\C:\oracle\ora92\bin\sqlplus orcluser/orcl @C:Oracleout.ctl 說明:該bat檔案直接在目前的目錄下建立名為HttpLog的檔案夾,以便tabout.ctl指令碼輸出的檔案存放到該目錄下。其通過調用Oracle中sqlplus可執行檔來執行tabout.ctl指令碼,所以該檔案直接雙擊即可運行,無需其他動作。 3、通過windows定時任務實現自動定期執行 “在控制台——任務計劃——新增工作計劃”中建立定期將資料庫中日誌表資料匯出為文字格式設定(如:你可以根據需求設定為每天對日誌表資料進行匯出)。根據你當前對記錄檔路徑的儲存需求,修改上面兩個指令碼中的儲存路徑,在windows定時任務直接調用logout.bat檔案執行即可。
定時匯出Oracle資料表到文字檔的方法