我曾经使用下面列出的代码从SQL Server写入文本文件:
DECLARE @FS INT --File System Object DECLARE @OLEResult INT --Result message/code DECLARE @FileID INT --Pointer to file --Create file system object (OLE Object) EXECUTE @OLEResult = sp_OACreate 'Scripting.FileSystemObject', @FS OUT IF @OLEResult <> 0 PRINT 'Scripting.FileSystemObject.Failed' -----OPEN FILE----- EXECUTE @OLEResult = sp_OAMethod @FS, 'OpenTextFile', @FileID OUT, @FileName, 8, 1 IF @OLEResult <> 0 PRINT 'OpenTextFile.Failed'
看来这已经不再在sql server 2008 r2中支持。 我应该如何导出到SQL Server 2008 R2的文本文件?
声明此链接不再支持: http : //social.msdn.microsoft.com/Forums/en/transactsql/thread/f8512bec-915c-44a2-ba9d-e679f98ba313
这篇文章所指的是不推荐使用的SQL DMO(从SQL Server 2005开始,已经被replace为SQL SMO )。 但是,你的代码不使用SQL DMO对象,所以你真的在吠叫错误的树。 您链接的post只是巧妙地使用sp_OA * procs来创buildSQL DMO对象的实例。
你需要在你的SQL实例中打开Ole Automation Procedures选项。 作为安全防范,默认closures。 此选项是必需的,才能使用sp_OA * procs。
这应该为你做。
sp_configure 'show advanced options',1 GO reconfigure GO sp_configure 'Ole Automation Procedures',1 GO reconfigure GO