【发布时间】:2011-12-29 06:43:09
【问题描述】:
我想知道如何创建一个文本文件并将其保存在我的本地机器上,下面是我正在使用的存储过程。它在服务器上创建文本文件,但我希望在我的本地计算机上创建它。
非常感谢任何帮助..
alter Procedure [dbo].[USP_SaveFile]
(@text as NVarchar(Max), @Filename Varchar(200)) AS
Begin
declare
@Object int,
@rc int,
@FileID Int
EXEC @rc = sp_OACreate 'Scripting.FileSystemObject', @Object OUT
EXEC @rc = sp_OAMethod @Object , 'OpenTextFile' , @FileID OUT , @Filename , 2 , 1
Set @text = Replace(Replace(Replace(@text,'&','&'),'<' ,'<'),'>','>')
EXEC @rc = sp_OAMethod @FileID , 'WriteLine' , Null , @text
Exec @rc = [databasename].dbo.sp_OADestroy @FileID
Declare @Append bit
Select @Append = 0
If @rc <> 0
Begin
Exec @rc = [databasename].dbo.sp_OAMethod @Object, 'SaveFile',null,@text ,@Filename,@Append
End
Exec @rc = [databasename].dbo.sp_OADestroy @Object
End
-- Use [databasename]
-- EXEC sp_configure 'show advanced options', 1
-- GO
-- EXEC sp_configure 'Ole Automation Procedures', 1;
-- GO
-- RECONFIGURE;
-- GO
-- EXEC USP_SaveFile 'Microsoft SQL Server 2008', 'D:\sqlfiles\test.txt'
【问题讨论】:
-
我认为您无法使用 SSIS?这对于这项工作来说确实是一个更好的工具。
标签: sql sql-server-2008 tsql text export-to-csv