使用SQL Server 2008在本地计算机上创建文本文件
我想知道如何创建一个文本文件并将其保存在本地计算机上,下面是我正在使用的存储过程。它在服务器上创建文本文件,但我希望它在本地计算机上创建 非常感谢您的帮助使用SQL Server 2008在本地计算机上创建文本文件,sql,sql-server-2008,tsql,text,export-to-csv,Sql,Sql Server 2008,Tsql,Text,Export To Csv,我想知道如何创建一个文本文件并将其保存在本地计算机上,下面是我正在使用的存储过程。它在服务器上创建文本文件,但我希望它在本地计算机上创建 非常感谢您的帮助 alter Procedure [dbo].[USP_SaveFile] (@text as NVarchar(Max), @Filename Varchar(200)) AS Begin declare @Object int, @rc int, @FileID Int
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'
alter过程[dbo].[USP\u保存文件]
(@text作为NVarchar(Max),@Filename Varchar(200))作为
开始
声明
@对象int,
@rc int,
@FileID Int
EXEC@rc=sp_OACreate'Scripting.FileSystemObject',@Object OUT
EXEC@rc=sp_OAMethod@Object,'OpenTextFile',@FileID OUT,@Filename,2,1
设置@text=Replace
EXEC@rc=sp_OAMethod@FileID,'WriteLine',Null,@text
Exec@rc=[databasename].dbo.sp_OADestroy@FileID
声明@Append位
选择@Append=0
如果@rc 0
开始
Exec@rc=[databasename].dbo.sp_OAMethod@Object,'SaveFile',null,@text,@Filename,@Append
终点
Exec@rc=[databasename].dbo.sp_OADestroy@Object
终点
--使用[数据库名称]
--EXEC sp_配置“显示高级选项”,1
--去
--EXEC sp_配置“Ole自动化过程”,1;
--去
--重新配置;
--去
--EXEC USP_保存文件“Microsoft SQL Server 2008”,“D:\sqlfiles\test.txt”
在本地计算机上创建共享,然后像这样使用它:
EXEC USP_SaveFile 'Microsoft SQL Server 2008', '\\YourMachine\dir1\dir2\test.txt'
请注意,SQL Server是一种服务,因此:应用于它。+1对于答案,@MichałPowaga是否有其他方法可以实现同样的效果,因为我没有共享文件夹的权限。不,对不起。我只考虑执行过程并保存返回结果集(或输出参数)的客户端应用程序。但它不会像您希望的那样在服务器端发生。我认为SSIS对您不可用?这确实是一个更好的工作工具。