Hi, > Hi fellow Firebird users, > > Background: > > * Current Firebird version is 2.5 > > * Windows OS could be anything... > > * We are using C# with FirebirdClient ADO.NET Data Provider > > * The software we write extracts and monitors the Firebird database of > a third party application. > > * We do a major extract of data from the Firebird database, then > attempt to monitor for changes. > > Comment: > It appears to be very difficult for us to monitor the Firebird database for > changes. We have started to look into the Trace functionality introduced in > Firebird 2.5 to monitor for changes. This has helped, as we can relatively > easily detect what tables have changed from the Trace output. But this > involves > a lots of string parsing, which is really not nice. > > We have just started to look into other software like FbTraceManager to help > us, which appears to be a great tool for debugging issue, but I can't work out > if there is a way to integrate FbTraceManager into an existing application to > programmatically access the structured trace data. > > I've come across some slideshows on Auditing (different from Trace?) that make > it sound like there is other functionality there, but maybe not documented? > > Question: > Is there any way to detect table and row level changes, that could be > integrated into an existing C# application? Identifying the changed row IDs in > a table that has changed would be ideal...
If you are interested in what e.g. other DBMS products name "Change Data Capture", to audit/monitor data changes, then a trigger-based solution might be an appropriate mechanism. This might be a bit hard to do with the Trace functionality, which is great for debugging, getting the TOP X slowest queries etc. IBLogManager is a third-party product for the trigger-based approach: http://www.upscene.com/database_auditing/firebird_and_interbase/ Of course, it is not too difficult to roll your own ... -- With regards, Thomas Steinmaurer http://www.upscene.com Professional Tools and Services for Firebird FB TraceManager, IB LogManager, Database Health Check, Tuning etc.