Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有一种方法可以使用Java和JDBC监听Microsoft SQL数据库表中的更改?_Java_Sql Server_Jdbc - Fatal编程技术网

有没有一种方法可以使用Java和JDBC监听Microsoft SQL数据库表中的更改?

有没有一种方法可以使用Java和JDBC监听Microsoft SQL数据库表中的更改?,java,sql-server,jdbc,Java,Sql Server,Jdbc,我有一个应用程序连接到Microsoft SQL Server上的数据库,我需要监听对其中一个表所做的任何更改(主要是创建和更新),并在该应用程序中触发java操作。 有什么办法吗 这取决于您需要以多快的速度响应表上的更改以及您对数据库的访问权限。 如果您能容忍几秒钟的延迟,我将(每隔几秒钟)从系统表中查询表信息,以获取上次更新的信息。只有当您有权访问系统表时,这才有效 尝试谷歌搜索“microsoft sql table get last updated information”(micros

我有一个应用程序连接到Microsoft SQL Server上的数据库,我需要监听对其中一个表所做的任何更改(主要是创建和更新),并在该应用程序中触发java操作。
有什么办法吗

这取决于您需要以多快的速度响应表上的更改以及您对数据库的访问权限。 如果您能容忍几秒钟的延迟,我将(每隔几秒钟)从系统表中查询表信息,以获取上次更新的信息。只有当您有权访问系统表时,这才有效


尝试谷歌搜索“microsoft sql table get last updated information”(microsoft sql表格获取上次更新的信息),这里有许多示例可能对您的特定情况有所帮助

这取决于您需要以多快的速度响应表上的更改以及您对数据库的访问权限。 如果您能容忍几秒钟的延迟,我将(每隔几秒钟)从系统表中查询表信息,以获取上次更新的信息。只有当您有权访问系统表时,这才有效


尝试谷歌搜索“microsoft sql table get last updated information”(microsoft sql表格获取上次更新的信息),这里有许多示例可能对您的特定情况有所帮助

一种方法是在数据表上设置触发器,以便在更改时填充其他表。应用程序将经常轮询这些表并删除它处理的行。我觉得这是老式的,可能有更多的集成方法来实现这一点。基本上,除了定期轮询DB表之外,没有其他方法。如果可能,您应该尝试让负责更新表的参与者通过某种API直接调用Java代码;这将更简单、更快。如果不了解更多上下文或实际问题,就很难给出好的建议。一种方法是在数据表上设置触发器,以便在更改时填充其他表。应用程序将经常轮询这些表并删除它处理的行。我觉得这是老式的,可能有更多的集成方法来实现这一点。基本上,除了定期轮询DB表之外,没有其他方法。如果可能,您应该尝试让负责更新表的参与者通过某种API直接调用Java代码;这将更简单、更快。如果不了解更多有关上下文或实际问题的信息,就很难给出好的建议。方法是在插入行数据后立即从数据库中检索行数据,可能有多个条目。方法是在插入行数据后立即从数据库中检索行数据,可能有多个条目。