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;
浙公网安备 33010602011771号