【问题标题】:Is it possible to access SQL Server Service Broker from a C# app?是否可以从 C# 应用程序访问 SQL Server Service Broker?
【发布时间】:2012-09-11 16:57:39
【问题描述】:

我想使用 SQL Server Service Broker 生成一条消息(在 SQL Server 内部)并在外部 C# 应用程序中读取它。

我仅限于运行 SQL Server 2005 的 Windows 2003。我已经阅读了很多文章,暗示这是一种可能性,但我在任何地方都没有看到示例。这可能吗?

【问题讨论】:

  • 很抱歉,对于这个问题没有建设性的想法,只是想指出 SQL Server 2005 甚至在一年内都没有扩展支持,因此可能需要重新考虑在其上编写新内容。跨度>
  • 执行存储过程是一个选项吗?
  • @JeffO 是的,我可以执行存储过程,但练习的重点不是轮询数据库中的事件,而是在 C# 应用程序中接收它们。

标签: c# sql-server sql-server-2005 service-broker


【解决方案1】:

T-SQL 有用于访问 Service Broker 的语句:SEND、RECEIVE 等。您可以使用 ADO.NET 来执行它们。

【讨论】:

  • SSMS 与服务代理有什么关系?我错过了什么吗?
  • @AngryHacker,我觉得我的回答不是很清楚。让我问一个问题:为什么你的 C# 应用不能通过执行 RECEIVE 语句来读取事件?
  • @AngryHacker:Service Broker 完全包含在 SQL Server 中。您使用 T-SQL(SENDRECEIVE)并将消息从 SQL Server 实例交换到另一个 SQL Server 实例。您不能将消息发送到 C# 应用程序,但您可以将消息发送到 C# 应用程序从中读取消息的队列(托管在 SQL Server 中)。
  • @usr 可以。我只是不知道24小时前有这样的声明。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-19
  • 2010-11-21
  • 1970-01-01
  • 1970-01-01
  • 2020-08-22
  • 2013-09-07
相关资源
最近更新 更多