sqlserver如何讀寫操作windows系統的文件


DECLARE   @object   int   
  DECLARE   @hr   int   
  DECLARE   @src   varchar(255),   @desc   varchar(255)   
  Declare   @tmp   int   
  declare   @msg   varchar(3000)   

  -------------------------1.寫文件--------------------------------------

  --將這串字符寫到SQL   Server的安裝目錄下的Nipsan.Txt文件里面   

  SET   @msg='Hello.   MS   SQL   Server   2000.   I   Love   you!!!'       
    
  --   取得SQL   Server的安裝路徑    
  declare   @strPath     nvarchar(512)   
  Exec   sp_MSGet_Setup_paths   @strPath   OUTPUT   

--輸出路徑,文件名
  Set   @strPath=@strPath+'/Nipsan.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   


  ------------------------------2.打開文件------------------------------------------------- 
    
  EXEC   @hr   =   sp_OAMethod   @object,   'OpenTextFile',   @tmp   OUTPUT   ,@strPath   
  IF   @hr   <>   0   
  BEGIN   
        EXEC   sp_OAGetErrorInfo   @object   
          RETURN   
  END   
   

  ------------------------------3.讀取文件------------------------------------------------- 
  SET   @msg=''   
  EXEC   @hr   =   sp_OAMethod   @tmp,   'Read',   @msg   OUT,3000   
  IF   @hr   <>   0   
  BEGIN   
        EXEC   sp_OAGetErrorInfo   @object   
          RETURN   
  END     
    
  SELECT   @msg   AS   RESULT  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM