致力于技术进步

专注于编程艺术

博客园 首页 新随笔 联系 订阅 管理

 

create proc P_WritefileLog  --'ws'
   @text varchar(8000) --要写入的内容
as
declare @err int,@src varchar(255),@desc varchar(255)
declare @obj int
declare @filename varchar(1000) --要操作的文本文件名

set @filename='E:\SQLServerProc'+CONVERT(varchar(100), GETDATE(),112)+'.log'

exec @err=sp_oacreate 'Scripting.FileSystemObject',@obj out
if @err<>0 goto lberr

exec @err=sp_oamethod @obj,'OpenTextFile',@obj out,@filename,8,1
if @err<>0 goto lberr

exec @err=sp_oamethod @obj,'WriteLine',null,@text
if @err<>0 goto lberr

exec @err=sp_oadestroy @obj
return

lberr:
 exec sp_oageterrorinfo 0,@src out,@desc out
 select cast(@err as varbinary(4)) as 错误号
  ,@src as 错误源,@desc as 错误描述
go

 

 

 

sqlserver 2000 使用不会出现问题,sqlserver2005已经关闭了sp_oacreate,执行下列脚本会开启该功能

exec sp_configure 'show advanced options', 1;
RECONFIGURE;
exec sp_configure 'Ole Automation Procedures',1;
RECONFIGURE;

posted on 2009-12-15 18:06  stephen&amp;#183;周  阅读(147)  评论(0)    收藏  举报