0

我有一个与这个问题大致相似的要求:

我需要集成两个第三方应用程序(即我无权访问任何一个应用程序的代码)。

  • App2 需要了解 App1 上的更新子集(用户对 App1 执行了“x” - 不感兴趣;用户执行了“y” - 在 App2 上调用了一系列操作)。至少一开始,交互很可能只是从 App1 到 App2 的通知。

  • App1 绑定到 SQL Server(不能假设 Enterprise);App2 可能正在使用任何 d/b 平台,但可以配置为访问 SQL Server 表或日志或其他非 db 文件。

  • 当两端都在线时,解决方案需要实时或接近;如果接收端(App2)出现故障,它需要在可用时赶上。

  • 我们的客户范围从几百到几万,因此解决方案需要扩展(实际上可能意味着 App1 的多个实例通知 App2 的单个实例)。

  • 解决方案需要仅限于配置,而不是代码。

经过一番挖掘,我想出了以下内容:

适当表上的 D/b 触发器 -> 服务代理 -> 激活中间数据库中的存储过程 -> 中间数据库中的表(App2 可以从中提取所需的数据)

但是,在相关问题(以及那里提到的问题)中有关于 Service Broker 对这种事情的缺点的黑暗暗示,但没有解释这些可能是什么。谁能指出这种解决方案的潜在问题(包括任何非常明显的问题,因为这不是我熟悉的技术而且我没有 DBA 背景 - 我花了两周时间才意识到我不能t 两端都有 SQL Express d/b)。

提前致谢...

编辑 2013 年 4 月 18 日添加:

我的 SSBDiagnose 错误为零,并且 SB 调用从测试过程成功执行,但没有任何东西到达另一端。如果我尝试查询 sys.transmission_queue 查询挂起。任何人都知道问题可能是什么?

4

0 回答 0