存储过程中如何将一操作步骤写到C:\log文件文本中去 如題 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 每天生成一个文件名为Log+当前日期的文件名在一个存储过程中会多次写入操作日志到一个文件的 能否将如下SQL的系统日志信息如(所影响的行数为 68 行)(所影响的行数为 87 行)这种信息一起写入到文件中去吗? sp_OACreate等系统储存过程调用File System Object组件来写文件示例代码:DECLARE @object intDECLARE @hr intDECLARE @src varchar(255), @desc varchar(255)Declare @tmp intdeclare @msg varchar(3000)SET @msg='Hello. MS SQL Server 2000. I Love you!!!' --这字符串将会被写到SQL Server的安装目录下的Nipsan.Txt文件里面/* 取得SQL Server的安装路径*/declare @strPath nvarchar(512)Exec sp_MSGet_Setup_paths @strPath OUTPUTSet @strPath=@strPath+'\Nipsan.Txt' --组成文件名--创建Scripting组件实例EXEC @hr = sp_OACreate 'Scripting.FileSystemObject', @object OUTIF @hr <> 0BEGIN EXEC sp_OAGetErrorInfo @object, @src OUT, @desc OUT SELECT hr=convert(varbinary(4),@hr), Source=@src, Description=@desc RETURNEND--创建文件EXEC @hr = sp_OAMethod @object, 'CreateTextFile', @tmp OUTPUT , @strPathIF @hr <> 0BEGIN EXEC sp_OAGetErrorInfo @object RETURNEND--把@msg写到文件里面去EXEC @hr = sp_OAMethod @tmp, 'Write',NULL, @msgIF @hr <> 0BEGIN EXEC sp_OAGetErrorInfo @object RETURNEND--关闭文件EXEC @hr = sp_OAMethod @tmp, 'Close',NULLIF @hr <> 0BEGIN EXEC sp_OAGetErrorInfo @object RETURNEND-----------写文件操作Demo完成-----------------------------------------------------------------打开文件EXEC @hr = sp_OAMethod @object, 'OpenTextFile', @tmp OUTPUT ,@strPathIF @hr <> 0BEGIN EXEC sp_OAGetErrorInfo @object RETURNENDSET @msg=''--读文件EXEC @hr = sp_OAMethod @tmp, 'Read', @msg OUT,3000IF @hr <> 0BEGIN EXEC sp_OAGetErrorInfo @object RETURNEND-----读文件操作Demo完成SELECT @msg AS RESULT 有点复杂的小问题 sqlserver 频繁出现一致性错误 这个视图的分组怎么写呢? 一个简单的存储过程! 一个SQL小小CASE问题,向大家请教. 复制订阅出现问题:发布的表中有IDENTITY 属性列怎么处理??搜遍了整个论坛也没找到相关信息!! 新手提问(关于触发器)谢谢各位高手啊。 多表查询后去除重复记录 本地sql server 对internet sqlserver合并复制问题 高难度!一句SQL如何能实现这样的功能? 重复项过滤 + 排序 这里为什么不能加括号?
DECLARE @object int
DECLARE @hr int
DECLARE @src varchar(255), @desc varchar(255)
Declare @tmp int
declare @msg varchar(3000)
SET @msg='Hello. MS SQL Server 2000. I Love you!!!' --这字符串将会被写到SQL Server的安装目录下的Nipsan.Txt文件里面
/* 取得SQL Server的安装路径*/
declare @strPath nvarchar(512)
Exec sp_MSGet_Setup_paths @strPath OUTPUT
Set @strPath=@strPath+'\Nipsan.Txt' --组成文件名
--创建Scripting组件实例
EXEC @hr = sp_OACreate 'Scripting.FileSystemObject', @object OUT
IF @hr <> 0
BEGIN
EXEC sp_OAGetErrorInfo @object, @src OUT, @desc OUT
SELECT hr=convert(varbinary(4),@hr), Source=@src, Description=@desc
RETURN
END
--创建文件
EXEC @hr = sp_OAMethod @object, 'CreateTextFile', @tmp OUTPUT , @strPath
IF @hr <> 0
BEGIN
EXEC sp_OAGetErrorInfo @object
RETURN
END
--把@msg写到文件里面去
EXEC @hr = sp_OAMethod @tmp, 'Write',NULL, @msg
IF @hr <> 0
BEGIN
EXEC sp_OAGetErrorInfo @object
RETURN
END
--关闭文件
EXEC @hr = sp_OAMethod @tmp, 'Close',NULL
IF @hr <> 0
BEGIN
EXEC sp_OAGetErrorInfo @object
RETURN
END
-----------写文件操作Demo完成---------------------------------------------------------------
--打开文件
EXEC @hr = sp_OAMethod @object, 'OpenTextFile', @tmp OUTPUT ,@strPath
IF @hr <> 0
BEGIN
EXEC sp_OAGetErrorInfo @object
RETURN
END
SET @msg=''
--读文件
EXEC @hr = sp_OAMethod @tmp, 'Read', @msg OUT,3000
IF @hr <> 0
BEGIN
EXEC sp_OAGetErrorInfo @object
RETURN
END
-----读文件操作Demo完成
SELECT @msg AS RESULT