<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 189,comments - 115,trackbacks - 0
    如何在ORACLE的PL/SQL中將數(shù)據(jù)寫入文件
    ?

    在數(shù)據(jù)庫(kù)的開(kāi)發(fā)中,當(dāng)PL/SQL語(yǔ)句很復(fù)雜的時(shí)候,我想寫一些Log,就像java的Log4j那樣。這樣就可以很好的跟蹤程序的運(yùn)行情況。在網(wǎng)上找到的文章不是很好用,修改了一下。

    1:在Oracle服務(wù)器上建立一個(gè)目錄并指定權(quán)限(我這個(gè)是unix的。windows用c:\tmp之類的就行)

    CREATE DIRECTORY TEMP AS '/tmp';
    GRANT READ,WRITE ON DIRECTORY TEMP TO PUBLIC;
    GRANT?? EXECUTE? ON? SYS.UTL_FILE? TO? YOU_USER_NAME;

    如果出現(xiàn)權(quán)限錯(cuò)誤的話,注意自己登陸的方式,我是用oralce用戶TelNet到Unix上的,然后connect / as sysdba。(windows 用戶應(yīng)該是:sys用戶登錄到數(shù)據(jù)庫(kù)(ora9i):conn sys/password@oraclesid as sysdba ,sys用戶的缺省密碼和system一樣,都是manager

    2:寫Log文件的SQL語(yǔ)句如下:

    declare
    ? file_handle utl_file.file_type;
    ? buff varchar2(20);
    ? cursor c1 is select? acloumn from t_atable;
    begin
    ? file_handle := utl_file.fopen('TEMP',log.txt','w');
    ? open c1;
    ? loop
    ??? fetch c1 into buff;
    ??? exit when c1%notfound;
    ??? utl_file.put_line(file_handle,buff);
    ?? end loop;
    ?? close c1;
    ?? utl_file.fclose(file_handle);
    end;

    這樣,就應(yīng)該可以了,file_handle := utl_file.fopen('TEMP',log.txt','w');中的'w'是指write,也可以是'a',append.

    封裝后是這樣的:

    procedure writeLog(logMessage in Varchar2) is
    ? begin
    ??? IF logSwitch THEN
    ????? file_handle := utl_file.fopen('TEMP','x.txt','w');
    ????? utl_file.put_line(file_handle,logMessage);
    ????? utl_file.fclose(file_handle);
    ??? END IF;
    ? end;

    其中l(wèi)ogSwitch 是boolean型,我定義在包中的。如果直接用的話可以是procedure writeLog(logMessage in Varchar2, logSwitch in boolean )

    posted on 2006-03-25 20:34 MEYE 閱讀(1261) 評(píng)論(0)  編輯  收藏 所屬分類: NEWS
    主站蜘蛛池模板: 水蜜桃视频在线观看免费播放高清| 99亚洲男女激情在线观看| 亚洲国产模特在线播放| 亚洲午夜在线一区| 亚洲av成本人无码网站| 日本中文字幕免费看| 中文字幕乱码一区二区免费| 97在线视频免费| 18禁无遮挡无码网站免费| 国产jizzjizz视频全部免费| 相泽亚洲一区中文字幕| 亚洲美女精品视频| 精品国产日韩亚洲一区91| 精品久久久久久国产免费了| 亚洲免费观看网站| 四虎免费久久影院| 亚洲AV无码国产精品色午友在线| 亚洲一级高清在线中文字幕| 精品一区二区三区免费毛片| a级毛片免费播放| 99精品国产免费久久久久久下载 | 91成人免费观看网站| 免费无遮挡无码视频网站| 国产日产亚洲系列最新| 亚洲av成人一区二区三区| 国产亚洲综合精品一区二区三区| 免费av片在线观看网站| 搡女人真爽免费视频大全| 在线亚洲人成电影网站色www| 亚洲人成电影院在线观看| 黄色免费在线网址| 在线看片免费人成视久网| 四虎影视精品永久免费| 亚洲一区二区在线视频| 国产精品亚洲а∨无码播放麻豆| 日韩电影免费在线观看| 国产成人精品高清免费| 91亚洲导航深夜福利| 免费看一级一级人妻片| 特级做A爰片毛片免费69 | 中文字幕亚洲一区二区三区 |