DECLARE @ObjectToken INT
EXEC sp_OACreate 'ADODB.Stream', @ObjectToken OUTPUT
EXEC sp_OASetProperty @ObjectToken, 'Type', 1
EXEC sp_OAMethod @ObjectToken, 'Open'
EXEC sp_OAMethod @ObjectToken, 'Write', NULL, 0x313131
EXEC sp_OAMethod @ObjectToken, 'SaveToFile', NULL, 'C:\Test.txt', 2
EXEC sp_OAMethod @ObjectToken, 'Close'EXEC sp_OADestroy @ObjectToken以上这段代码是我从网上找的,它可以建立一个TXT文件,并且写入数据进去。但是上面的例子写入的是二进制数据,可我想写入字符串到TXT里去,不知道怎么修改上面的语句,可以实现将字符串写入到TXT中。

解决方案 »

  1.   

    用BCP命令应该可以的,例子如下:
    EXEC master..xp_cmdshell 'bcp "select * from pubs..authors" queryout "c:\DT.txt" -c -S"(local)" -U"sa" -P"123"'
      

  2.   

    DECLARE @TEXT VARBINARY(MAX)
    SET @TEXT = CAST('hello, world!' AS VARBINARY(max))DECLARE @ObjectToken INT
    EXEC sp_OACreate 'ADODB.Stream', @ObjectToken OUTPUT
    EXEC sp_OASetProperty @ObjectToken, 'Type', 1
    EXEC sp_OAMethod @ObjectToken, 'Open'
    EXEC sp_OAMethod @ObjectToken, 'Write', NULL, @TEXT
    EXEC sp_OAMethod @ObjectToken, 'SaveToFile', NULL, 'C:\Test.txt', 2
    EXEC sp_OAMethod @ObjectToken, 'Close'EXEC sp_OADestroy @ObjectToken--Test.txt
    --hello, world!