SQL Server可以发送Web请求吗?
我在本地网络上有一个SQL Server数据库和一个Intranet Web应用程序. Intranet Web应用程序创建记录并将其发送到数据库.我有一个Internet Web应用程序,我想发送新的记录,以使用本地网络上的SQL Server数据库.
我不能因为各种原因更改/修改Intranet Web应用程序,所以我唯一的选择是在本地SQL Server上创建一个触发器,该触发器将使用某种http post请求或url调用向Internet Web应用程序发送新记录. INTERNET Web应用程序设置有一个RESTful API,可以通过表单发送到可公开访问的URL(例如http://www.example.com/records/new)的新记录. 有没有人知道在SQL Server中是否可以实现通过url发送数据(url中的xml,json,plain变量)? 感谢任何想法! 解决方法这是可能的,但在现实世界中,比你想象的天真的方法要复杂得多.主要地,触发器等待HTTP请求是不可接受的:>对于一个,您的应用程序将爬行到尖叫停止,因为触发器将阻止资源(主要是锁)等待远程WWW服务的响应. 解决方案是通过队列将触发器与HTTP请求分离.触发器将请求排入本地队列并提交,而单独的处理将对这些请求进行排队并发出HTTP请求.这解决了上述两个问题.您可以使用普通表进行队列(参见Using Tables as Queues),也可以使用Service Broker,两者都可以正常工作. 现在关于如何出现这个请求并实际放置HTTP调用,我强烈建议使用一个专用的进程(即为此目的专用的应用程序).虽然可以使用SQLCLR,但这是一个非常糟糕的选择. SQL Server资源(特别是workers)在等待Internet响应时浪费了很多宝贵资源. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |