数据库写日志操作(转载)

  DECLARE   @object   int   
  
DECLARE   @hr   int   
  
DECLARE   @src   varchar(255),   @desc   varchar(255)   
  
Declare   @tmp   int   
  
declare   @msg   varchar(3000)   
    
  
SET   @msg='asdfasdfasdfd'       --這字串將會被寫到SQL   Server的安裝目錄下的Nipsan.Txt文件里面   
    
  
/*     取得SQL   Server的安裝路徑*/   
  
declare   @strPath     nvarchar(512)   
  
Exec   sp_MSGet_Setup_paths   @strPath   OUTPUT   
  
Set   @strPath='d:\log.Txt'       --組成文件名   
      
    
  
--創建Scripting組件實例   
  EXEC   @hr   =   sp_OACreate   'Scripting.FileSystemObject',   @object   OUT   
  
IF   @hr   <>   0   
  
BEGIN   
        
EXEC   sp_OAGetErrorInfo   @object,   @src   OUT,   @desc   OUT     
        
SELECT   hr=convert(varbinary(4),@hr),   Source=@src,   Description=@desc   
          
RETURN   
  
END   
    
  
--創建文件   
  EXEC   @hr   =   sp_OAMethod   @object,   'CreateTextFile',   @tmp   OUTPUT   ,   @strPath   
  
IF   @hr   <>   0   
  
BEGIN   
        
EXEC   sp_OAGetErrorInfo   @object   
          
RETURN   
  
END   
  
--把@msg寫到文件里面去   
  EXEC   @hr   =   sp_OAMethod   @tmp,   'Write',NULL,   @msg   
  
IF   @hr   <>   0   
  
BEGIN   
        
EXEC   sp_OAGetErrorInfo   @object   
          
RETURN   
  
END   
  
--關閉文件   
  EXEC   @hr   =   sp_OAMethod   @tmp,   'Close',NULL   
  
IF   @hr   <>   0   
  
BEGIN   
        
EXEC   sp_OAGetErrorInfo   @object   
          
RETURN   
  
END   
  
-----------寫文件操作Demo完成---------------------------------------------------------------   
    
  
--打開文件   
  EXEC   @hr   =   sp_OAMethod   @object,   'OpenTextFile',   @tmp   OUTPUT   ,@strPath   
  
IF   @hr   <>   0   
  
BEGIN   
        
EXEC   sp_OAGetErrorInfo   @object   
          
RETURN   
  
END   
    
  
SET   @msg=''   
  
--讀文件   
  EXEC   @hr   =   sp_OAMethod   @tmp,   'Read',   @msg   OUT,3000   
  
IF   @hr   <>   0   
  
BEGIN   
        
EXEC   sp_OAGetErrorInfo   @object   
          
RETURN   
  
END   
  
-----讀文件操作Demo完成   
    
  
SELECT   @msg   AS   RESULT   
posted @ 2009-06-30 11:30  独奏者  阅读(630)  评论(0编辑  收藏  举报