sqlserver如何读写操作系统的文件

Posted 改变

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sqlserver如何读写操作系统的文件相关的知识,希望对你有一定的参考价值。

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   @[email protected]+‘/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),   [email protected],   [email protected]  
          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  




























































以上是关于sqlserver如何读写操作系统的文件的主要内容,如果未能解决你的问题,请参考以下文章

sqlserver2008 插入3000条/秒,分析IO,发现日志读写远大于正常的数据库读写!我不需要任何日志,如何关闭

Sqlserver读写分离(主从备份)

如何wincc中使用VBS脚本读写SQLServer数据库文件

快速入门Python中文件读写IO是如何来操作外部数据的?

C++文件读写操作如何统计文本的行数及如何读取文件某一行内容

SQLSERVER 性能优化之Perfmon指标