首页 > 代码库 > sqlserver 实现数据变动触发信息
sqlserver 实现数据变动触发信息
1、建立存储过程,功能是动态写入文件中信息,可以在触发器或存储过程调用。
SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOcreate proc [dbo].[SP_SendMagToFile]( @path varchar(100), @fileName varchar(100), @msg varchar(200))asbegin DECLARE @object int DECLARE @hr int DECLARE @src varchar(255), @desc varchar(255) Declare @tmp int declare @strPath nvarchar(512) Set @strPath=@path+‘\‘+@fileName --組成文件名 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 ENDend
2、服务端监听给文件夹是否被更新,如果更新就发送信息或执行程序等。
3、这样可以减少网络传输的压力。
4、也可以执行发送http,实现更新数据的功能
sp_configure ‘show advanced options‘, 1;GORECONFIGURE;GOsp_configure ‘Ole Automation Procedures‘, 1;GORECONFIGURE;GOEXEC sp_configure ‘Ole Automation Procedures‘;GO/*参数说明?@URL=http请求地址@status=状态代?@returnText=返回?@object=对象令牌@errSrc=http://www.mamicode.com/错误源编?>*/CREATE PROCEDURE P_GET_HttpRequestData( @URL varchar(500), @status int=0 OUT, @returnText varchar(2000)=‘‘ OUT)ASBEGIN DECLARE @object int, @errSrc int /*初始化对*/ EXEC @status = SP_OACreate ‘Msxml2.ServerXMLHTTP.3.0‘, @object OUT IF @status <> 0 BEGIN EXEC SP_OAGetErrorInfo @object, @errSrc OUT, @returnText OUT RETURN END /*创建链接*/ EXEC @status= SP_OAMethod @object,‘open‘,NULL,‘GET‘,@URL IF @status <> 0 BEGIN EXEC SP_OAGetErrorInfo @object, @errSrc OUT, @returnText OUT RETURN END EXEC @status=SP_OAMethod @object,‘setRequestHeader‘,‘Content-Type‘,‘application/x-www-form-urlencoded‘ /*发起请求*/ EXEC @status= SP_OAMethod @object,‘send‘,NULL IF @status <> 0 BEGIN EXEC SP_OAGetErrorInfo @object, @errSrc OUT, @returnText OUT RETURN END /*获取返回*/ EXEC @status= SP_OAGetProperty @object,‘responseText‘,@returnText OUT IF @status <> 0 BEGIN EXEC SP_OAGetErrorInfo @object, @errSrc OUT, @returnText OUT RETURN ENDEND;
sqlserver 实现数据变动触发信息
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。