0

我有一个有趣的解决方案,我确实得到了解决,但我想知道是否有更好的方法来解决它。

我有一个代表我们核心业务流程的软件。该软件(应用程序“A”)也由 A 公司管理。我对 Web 应用程序的 SQL 服务器具有管理员访问权限,但我无权访问已编译的源代码。

我有第二个软件由公司 B 管理。应用程序 B 具有表示为 Web 服务的集成挂钩,因此其他应用程序可以与之集成。除此之外,我没有任何真正的应用程序访问权限。可能可以获得对应用程序 B 的 SQL Server 管理员访问权限,但目前我没有。

我的问题是连接这两个系统的最佳方式是什么,以便数据尽可能“接近实时”。我为应用程序 A 开发了一个嵌入在 SQL Server 中的 CLR 触发器,但众所周知,它会破坏应用程序的性能。所以我最终在 SQL 服务器上创建了另一个表,该表在一个简单的触发器上写入了与事务相关的必要数据以及一个状态列。然后我设置了一个预定的 exe,它从表中读取数据,并将其输入到应用程序 B。它还相应地更新了状态列,因此我没有遇到线程问题,因为这个可执行文件以高频率运行。

一切都完成后,与我当前解决方案的差距约为 5 分钟。这可能看起来不错,但我们的最终用户期望实时,因此我的支持人员仍然会因为这个解决方案而接到电话。

有人有更好的解决方案吗?我全神贯注,希望在这个过程中学到一些东西。

4

1 回答 1

0

最好让一个应用程序管理给定的数据资源。如果其他资源需要访问数据,那么通过 Web 或 Windows 服务提供 API 是最好的方法。这集中了与数据的交互,并通过减少重复代码,使管理数据库工作方式的更新变得更加容易。

于 2012-09-30T18:53:55.453 回答