我有一张桌子,他们有许多带有电子邮件地址列的记录,我使用web api验证电子邮件ID是否有效。 是否可以通过 MS SQL存储过程
进行调用答案 0 :(得分:2)
尝试以下sp
Declare @Object as Int;
Declare @ResponseText as Varchar(8000);
Exec sp_OACreate 'MSXML2.XMLHTTP', @Object OUT;
Exec sp_OAMethod @Object, 'open', NULL, 'get',
'http://your-api-address', --Your Web Service Url (invoked)
'false'
Exec sp_OAMethod @Object, 'send'
Exec sp_OAMethod @Object, 'responseText', @ResponseText OUTPUT
Select @ResponseText
Exec sp_OADestroy @Object
答案 1 :(得分:2)
几乎没有任何情况下这种事情是个好主意。在进入表格之前验证您的电子邮件地址不是更好吗?
就糟糕的想法而言,CLR存储过程将是一个选项,就像从另一个stackoverflow问题粘贴的sp_OACreate
内容一样,但是这样的事情在外面更好>数据库?
为什么不将“原始”电子邮件地址存储在某个地方的“临时”环境中 - 可能是数据库中的另一个表,然后在其他地方创建验证过程,可能是在Powershell脚本,.Net程序或其他类型的调用Web服务很简单的环境?通过这种方式,您可以确定地址在编写时是否有效,然后采取适当的措施(不要写它?设置某种标志?)。