Monitoring 跟踪或通知数据库更改-主要是插入和更新

Monitoring 跟踪或通知数据库更改-主要是插入和更新,monitoring,rdbms,real-time,Monitoring,Rdbms,Real Time,在数据库中插入或更新记录时,如何跟踪或获得通知?每当DB中发生此类更改时,我希望以近乎实时的方式通知外部应用程序这些更改。是否有独立于DBMS和应用程序编程语言的方法来实现这一点?如果没有,那么是否可以使用MS Access,特别是MS SQL Server?当然,我希望避免连续轮询DB。我认为最新版本的Microsoft SQL Server允许您根据服务器条件和事件在.NET代码中引发事件。我没有尝试过,也没有听说过任何“独立于DBMS”的方法(不需要每X毫秒轮询一次DB)。使用SQL Se

在数据库中插入或更新记录时,如何跟踪或获得通知?每当DB中发生此类更改时,我希望以近乎实时的方式通知外部应用程序这些更改。是否有独立于DBMS和应用程序编程语言的方法来实现这一点?如果没有,那么是否可以使用MS Access,特别是MS SQL Server?当然,我希望避免连续轮询DB。

我认为最新版本的Microsoft SQL Server允许您根据服务器条件和事件在.NET代码中引发事件。我没有尝试过,也没有听说过任何“独立于DBMS”的方法(不需要每X毫秒轮询一次DB)。

使用SQL Server,可以在SQL Server本身中加载DLL,并使用扩展存储过程从中调用方法。DLL随后可以通知其他应用程序—通常通过TCP套接字。

通过MS Access,我可以通过主表中存储用户名和创建或更新记录的日期的字段跟踪记录更改或记录添加

您需要使用windows API来记录用户名,通常在打开交换机窗体时运行

我正在挖掘,以找到一个追踪具体变化的方法。我的数据库用于项目管理。我想知道具体发生了什么变化,而不仅仅是我现在的变化是谁和什么时候发生的

我认为这符合原问题的要求。我可以稍后添加读取用户名称的windows API

插入前的专用子表单(取消为整数) 我UserCreated=UCase(CurrentUser()) 我DateCreated=Now() 端接头

更新前的私有子表单(取消为整数) 我DateModified=Now() 我UserModified=UCase(CurrentUser()) 端接头


--Mike

要使用SQL Server执行此操作,请使用通知服务—编写一个dll,订阅数据库中的通知,以便以某种方式处理数据更新

然而,她说他们是

Oracle也有类似的功能(尽管他们倾向于保留他们的技术),但我没有看到任何与数据库无关的功能