【问题标题】:Way to access a REST Service via a SQL Server stored procedure?通过 SQL Server 存储过程访问 REST 服务的方法?
【发布时间】:2014-08-05 02:43:24
【问题描述】:

我们正在寻找一种从 SQL Server 2008 和更新的存储过程调用 REST 服务的方法。我们不需要从该服务中获取任何信息。我们只需要强制调用在存储过程的中间运行。

我找到了一些第 3 方选项或 CLR;但我拒绝认为没有更简单的方法,因为我们只需要拨打电话,不需要任何回报。

希望有人能解释一下。谢谢!

【问题讨论】:

  • 我相信使用 SQL-CLR 程序集很可能是完成此任务的最简单方法。

标签: sql sql-server web-services sql-server-2008 rest


【解决方案1】:

您可以创建一个 SQL 代理作业来运行 PowerShell 脚本,然后通过 msdb.dbo.sp_start_job 运行该作业。这样您就不需要任何外部脚本或实用程序,也不需要任何 SQL-CLR。

您的工作步骤类似于:

$request = [System.Net.WebRequest]::Create('http://stackoverflow.com/')
$result = $request.GetResponse()

【讨论】:

    【解决方案2】:

    我至少可以想到两种方法:

    1) 可能是首选方式:

    制作一个 C# dll 并从存储过程示例中调用其函数: How to call C# function in stored procedure

    2) 在CURL utility的帮助下调用其余服务。

    DECLARE @PassedVariable VARCHAR(100)
    DECLARE @CMDSQL VARCHAR(1000)
    SET @PassedVariable = 'SqlAuthority.com'
    SET @CMDSQL = 'c:findword.bat' + @PassedVariable
    EXEC master..xp_CMDShell @CMDSQL
    
    have the call to the ws inside the bat file
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多