【问题标题】:call webservice with SQL Server 2012使用 SQL Server 2012 调用 Web 服务
【发布时间】:2015-04-21 02:03:41
【问题描述】:

我们有一个使用这些方法的网络服务:

  1. NOCR_Send(datatable personInfo, string code, string username, string password) 返回 GUID;
  2. NOCR_Get(GUID code, string code, string username, string password) 返回DataTable;

我想在 sql server 中使用这些方法。它是一种在 TSQL 中创建数据表的方法吗?

【问题讨论】:

  • 你想做什么?您的问题毫无意义,请澄清。
  • 我猜你已经获得了一个具有 DataTable 参数的 Web 服务?您需要编写一些代码来从 SQL 数据库中查询数据(使用 C# 或 VB 中的 ADO.NET),然后使用应用程序/网页中的 WCF 代理类调用 Web 服务。在 Visual Studio 中为您的项目添加服务引用,并将 URL 指向您尝试调用的 Web 服务。
  • 我在 C# 中创建了该项目,但我需要创建一个 CLR 方法或存储过程来使用 Web 服务。

标签: sql-server web-services tsql sql-server-2012


【解决方案1】:

SQLCLR 并不是真正为此而设计的——它适用于在 CLR 中更好地完成的简单函数(例如需要在某些东西上运行 RegEx),但即便如此,它也会产生它不应该有的依赖关系和管理问题到(您的 DBA 不必了解 .NET,您的 .NET 开发人员不必是 DBA,等等)。

您应该在此处创建一个 ADO.NET 应用程序,该应用程序使用 Web 服务,然后将相关数据传递给 SQL Server,或者使用来自 SQL Server 的数据并将相关数据传递给您的 Web 服务。您希望将您的 Web 服务从 SQL Server 中抽象出来,反之亦然 - 不要试图让 SQL Server 成为 WCF 客户端(它会做得很差),只需将来自编写良好的 WCF 客户端的数据提供给它。

换句话说:让 SQL Server 处理数据,让 .NET 处理 WCF。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-06
    • 1970-01-01
    • 2013-08-25
    • 1970-01-01
    • 1970-01-01
    • 2019-01-22
    • 2016-03-02
    相关资源
    最近更新 更多