我最初的方法是在应用程序 A 的数据库中使用存储过程,在插入时触发以收集其他数据并调用由应用程序 B 托管的 Web 服务,以在那里进行必要的映射和持久性。应用程序 A 和应用程序 B 可能不在同一台机器上。最初的要求是在应用程序 A 端支持 SQL Server 数据库。想到了一个 CLR 存储过程。但是,有人认为调用 Web 服务会在 SQL Server 引擎中产生严重的性能影响,并且还需要提升 DBA 不喜欢提供的过程的权限。
我现在正在考虑在数据库 A 上创建某种形式的引用表的过程以及使用这些数据并在应用程序 B 处理后进行清理的轮询应用程序。但是,我不能不认为还有更好的方法来做这件事轮询数据。
应用程序 A 仅适用于 Windows。应用程序 B 可以是 Windows、UNIX 或 LINUX,因此 Java 显然是这方面的选择。