Sql语句访问WEB

代码
    
    
    
    
CREATE PROC callSendMailPAGE
@url VARCHAR ( 1000 )
AS
BEGIN
DECLARE @xmlHttp INT , @error INT
EXEC @error = sp_OACreate "Microsoft.XMLHTTP", @xmlHttp OUTPUT
EXEC @error = sp_OAMethod @xmlHttp , ' Open ' , NULL , ' POST ' , @url , ' True '
EXEC @error = sp_OAMethod @xmlHttp , ' Send ' , NULL , NULL
EXEC @error = sp_OAMethod @xmlHttp , ' Close ' , NULL
EXEC @error = sp_OADestroy @xmlHttp
END

 

JOB里执行 EXEC callSendMailPAGE 'http://www.yourdomain.com/mysendmail.aspx'

这种做法,实际上是, 用sqlagent服务充当了你的winform+timer或自定义的windows service.  通过sp_oa系列存储过程调用xmlhttp访问你的mysendmail.aspx来实现发送邮件.当然,你可以在页面加上对应的参数,只有参数正确才触发发送邮件方法.这样,当某人无意访问了你这个地址时,页面也不会发送邮件.只通过这个存储过程来执行.

这也算是懒人做法,如果是我,我有可能也是这么弄,懒得写windows service.

要么就不用mysendmail.aspx这个东西.全部在数据库端实现,即 sp_oa系列过程来调用jmail或cds. 或者直接用sqlmail处理.

你可能感兴趣的:(Sql语句访问WEB)