![]() |
|
在數(shù)據(jù)庫的開發(fā)中,當(dāng)PL/SQL語句很復(fù)雜的時候,我想寫一些Log,就像java的Log4j那樣。這樣就可以很好的跟蹤程序的運行情況。在網(wǎng)上找到的文章不是很好用,修改了一下。 1:在Oracle服務(wù)器上建立一個目錄并指定權(quán)限(我這個是unix的。windows用c:\tmp之類的就行) CREATE DIRECTORY TEMP AS '/tmp'; 如果出現(xiàn)權(quán)限錯誤的話,注意自己登陸的方式,我是用oralce用戶TelNet到Unix上的,然后connect / as sysdba。(windows 用戶應(yīng)該是:用sys用戶登錄到數(shù)據(jù)庫(ora9i):conn sys/password@oraclesid as sysdba ,sys用戶的缺省密碼和system一樣,都是manager) 2:寫Log文件的SQL語句如下: declare 這樣,就應(yīng)該可以了,file_handle := utl_file.fopen('TEMP',log.txt','w');中的'w'是指write,也可以是'a',append. 封裝后是這樣的: procedure writeLog(logMessage in Varchar2) is 其中l(wèi)ogSwitch 是boolean型,我定義在包中的。如果直接用的話可以是procedure writeLog(logMessage in Varchar2, logSwitch in boolean ) |