是否有任何 VB .NET 组件可以绑定 SQL SERVER 中表上发生的每个事件?我想构建一个随时准备就绪的小型应用程序(VB .NET)。然后当 SQL SERVER 中的表(例如 tbl_tasks)上发生事件时,我的应用程序将识别它。
例如,在 tbl_tasks 上插入了一条新记录。我的应用程序会识别出 tbl_tasks 发生了一些事情,然后我可以在 vb 上做一些代码。
是否可以使用任何 .NET 组件?如果不?有什么解决方案可以尝试并给我相同的结果吗?
非常感谢!
是否有任何 VB .NET 组件可以绑定 SQL SERVER 中表上发生的每个事件?我想构建一个随时准备就绪的小型应用程序(VB .NET)。然后当 SQL SERVER 中的表(例如 tbl_tasks)上发生事件时,我的应用程序将识别它。
例如,在 tbl_tasks 上插入了一条新记录。我的应用程序会识别出 tbl_tasks 发生了一些事情,然后我可以在 vb 上做一些代码。
是否可以使用任何 .NET 组件?如果不?有什么解决方案可以尝试并给我相同的结果吗?
非常感谢!
这不是那么容易做到的,但我有一个想法。可以监视 SQL Server 中的表以确定对其执行插入/更新/删除时的最后一个时间戳。如果您有一个 VB.NET 后台进程正在运行,您可以每 10 秒 ping 一次该表以获取上次更新日期,如果它与上次不同,那么您知道某些数据已更新,您可以运行您的处理程序。
下面是我获取最后更新日期的存储过程。
这是一个很好的实现缓存的方法,所以你只需要在数据发生变化时重新拉取数据。
祝你好运!
CREATE PROCEDURE [dbo].[GetTableLastUpdatedDate]
@TableName nvarchar(100)
AS
BEGIN
SELECT max(last_user_update) as LastUpdatedDate
FROM sys.dm_db_index_usage_stats
WHERE
database_id = DB_ID( 'MyDatabaseName') and
OBJECT_ID = OBJECT_ID(@TableName)
END