sqlserver调用webservice发送短信
上班的时候突然有一个想法,sqlserver能否调用webservice发送短信呢? ? 经过查找资料,终于找到了解决办法,现将步骤贴到下面: ? (1)开启sqlserver组件功能,如果不开启这个组件功能,那么在sqlserver执行语句时将不会成功。 ? sp_configure 'show advanced options',1; 以数据库管理员的身份执行上面的语句,返回结果如下: ? 配置选项 'show advanced options' 已从?0 更改为 1。请运行 RECONFIGURE 语句进行安装。 ? ? (2)编写SQL调用webservice的语句,代码及注释如下: ? DECLARE @object int,@hr int set @Mobile=N'15810337866' --创建MSSOAP.SoapClient组件,存储到@object中 --'http://218.XXX.154.XXX/MRMService/SmsService.asmx?wsdl'为webservice地址,一定要加‘?wsdl’ --'SendMsg'为webservice的一个方法,后面跟8个输入参数 IF @hr <> 0 ? 至此,sqlserver能否调用webservice发送短信的功能已经完成,成功收到了短信:“SQL????webservice????????????????????”。 ? 有人会问,为什么收到的短信中,中文部分全部为“????????”呢,仔细查询了一下,sqlserver的编码格式,语句如下: SELECT COLLATIONPROPERTY('Chinese_PRC_Stroke_CI_AI_KS_WS','CodePage') ? 返回值为:936,说明为中文。 ? ?而webservice得编码格式为UTF8,sqlserver不支持UTF8格式,所以会出现乱码。 ? 希望有解决办法的高手给以指点,谢谢 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |