【问题标题】:How to call .aspx page from SQL Server?如何从 SQL Server 调用 .aspx 页面?
【发布时间】:2012-01-09 20:56:03
【问题描述】:

有没有办法从 SQL Server 调用 aspx 页面?我听说了,但不知道怎么打电话?

就我而言,我有一个 SQL 作业,我需要调用 aspx 来执行某些任务。

【问题讨论】:

标签: sql sql-server sql-server-2008 sql-server-2005


【解决方案1】:

根本没有?

就我而言,我有一个 SQL 作业,我需要调用 aspx 来执行某些任务。

因严重滥用而被解雇。 SQL Server 是一个数据库。 SQL Server 作业(假设您的意思是作业)不能替代体面的调度系统。它不应该用于运行邮件活动等。

重新设计您的系统,使其符合 SQL Server 的预期用途,而不是通过滥用所有可能的功能使其看起来像一个应用程序服务器。

【讨论】:

  • 我不完全同意或不同意您的回答。没有足够的上下文来确定 OP 正在寻找的内容是否应该委托给不同的系统,但我确实认为从 SQL Server 内部发送电子邮件具有有效的业务场景。
  • 是的。正当的商业理由是一个不称职的人的愚蠢设计。去过那里,经常看到。真的想这样做吗?编写一个在服务器上运行的小程序,由 Windows 调度程序定期调用。 SQL Server 不是应用程序服务器。从来没有,以后也不会,但有些开发者即使用棒球棒反复击打头部也看不到这一点。
【解决方案2】:

您可以创建一个执行 http 调用的 .NET 程序集并将其加载到 SQL Server 中,以便可以从那里访问它。

请参阅this MSDN article,了解如何在 SQL 中创建程序集,以及 [this one] 展示如何使用 T-SQL2 从此类程序集中调用 .Net 函数。

这样做的一个缺点是(据我所知)无法参数化要调用的 URL(如在配置文件中)。每次 URL 更改时,您都必须在 SQL 中重新部署程序集。

【讨论】:

    【解决方案3】:

    您可以从 SQL Server 执行所需的操作(发送带有附件的电子邮件),而无需将任何程序集加载到 SQL Server 中。

    请参阅此答案 here. 和 sp_send_dbmail here. 的完整文档

    【讨论】:

    • 感谢 Icarus,但我必须通过电子邮件发送多个 Excel/PDF 附件,而且我没有任何权限在数据库服务器中生成新文件。
    【解决方案4】:

    有没有办法从 SQL Server 调用 aspx 页面?

    是的,但请不要。它需要禁用本机 SQL Server 安全性,以及许多其他丑陋的东西。

    反之亦然。让您的网页调用 SQL Server 以获取所需的数据。您甚至可以使用 Service Broker 通知进行设置,而不必使用轮询。

    【讨论】:

      【解决方案5】:

      你可以直接调用页面使用

      Declare @URL varchar(1000) 
      Declare @Object as Int;
      set @URL='your page URL'
      
      Exec sp_OACreate 'MSXML2.XMLHTTP', @Object OUT;
      Exec sp_OAMethod @Object, 'open', NULL, 'get',@URL,'false'
      Exec sp_OAMethod @Object, 'send'
      

      【讨论】:

        猜你喜欢
        • 2012-04-22
        • 2014-09-04
        • 2015-02-06
        • 1970-01-01
        • 2013-04-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-06
        相关资源
        最近更新 更多