0

我需要使用 java webgui Vaadin 框架编写 Web 应用程序,该框架将使用 MsWin2k8R2 NPS 插入到 MsSQL 数据库的新记录进行实时更新。

由于 NPS 将日志存储到文件和/或 DB,我更喜欢 DB,但我想知道当 NPS 服务器将数据插入数据库然后从 SQL 服务器通知中重新获取或提取时,SQL 服务器如何通知我的 java 程序并在浏览器中显示。

我已经建立了 Java<->Ms SQL 连接。

我已经知道的:

  • 可以使用 SqlDependency 类,但它仅适用于 .NET,我正在使用 Java
  • SQL Server Service Broker - 这是 SQL Server 中的某种功能,可用于此目的,但我目前不正确理解如何操作以及它的真正含义
  • SQL 扩展事件 - 同上
  • SQL 通知 - 同上
  • SQL CRL 触发器 - 用 C++、C# 或 Java 编写的触发器,在指定情况下执行,但这是同步完成的,会减慢整个操作

现在。我找到了这篇文章: https ://stackoverflow.com/a/534831/1235977

我建议在调用 SQL Server 服务代理的表上设置一个触发器,然后(异步)执行一个 CLR 存储过程,在不同的线程中完成所有工作。

但我不知道该怎么做。

所以我需要的是:SQL Server 中的简单表,当插入数据时,它会以某种方式通知我的 Java 程序。它可以使用 REST Web 服务、JMS 或任何与语言无关的东西。

请提供分步示例/解决方案。

4

1 回答 1

0

您可以使用 SQL 的触发器功能。有一个解决方案:

  1. 调用存储过程的表的 SQL 触发器
  2. 存储过程调用一些 c# 代码,这些代码将通过 http 进行 REST 服务。
  3. 您的后端将处理来自存储过程的 http 请求。
于 2013-12-05T17:41:09.137 回答