想实现的功能是去网站上下个文件那个大哥帮个忙

解决方案 »

  1.   

    参考一下
    示例代码:
    DECLARE @object int
    DECLARE @hr int
    DECLARE @src varchar(255), @desc varchar(255)
    Declare @tmp int
    declare @msg varchar(3000)
    SET @msg='Hello. MS SQL Server 2000. I Love you!!!'   --这字符串将会被写到SQL Server的安装目录下的Nipsan.Txt文件里面
    /*  取得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
    -----------写文件操作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
      

  2.   

    sp_OACreate等系统储存过程调用File System Object组件来读写
      

  3.   

    sp_OACreate...
    返回的结果最多只能到8000字节, 所以想用它来实现下载文件, 理论上是可以做到的, 但文件一般不太可能才8K这么小吧?
    所以不太现实.
      

  4.   

    参考一下
    示例代码:
    DECLARE @object int
    DECLARE @hr int
    DECLARE @src varchar(255), @desc varchar(255)
    Declare @tmp int
    declare @msg varchar(3000)
    SET @msg='Hello. MS SQL Server 2000. I Love you!!!'   --这字符串将会被写到SQL Server的安装目录下的Nipsan.Txt文件里面
    /*  取得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
    -----------写文件操作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这个我看过了,