I am writing a two way server - client Firebird replication with a C# app and I 
am facing the following problem. I have a log table with the table name pk of 
the record and type of the query executet on it. For example if in the sales 
table there has been inserted a line with primery key of 4 there will be the 
table name, pk of the record and insert. My idea is if the statement is insert 
to take every value from the client's DB and insert it into the server's. How 
do I do this and how to do it so that it can work fast. Should I devide every 
record by tables and select all unreplicated records from that table or there 
is some other way. Please help me.

By the way I used the method where every query that has been executed is 
written in a fild in the log table, but that makes it impossible to add columns 
to the table, cos the query will be wrong. Please help me. I've been strugling 
to write a good replication for years.

 

If you want, you can have the source for FBReplicator.

Replication Manager, Service and Service Controller.

The manager allows for you to update table structures and install and maintain 
triggers in the source DBs such that all I, D and U operations are stored in a 
changes table. The service then runs at your desired interval and replicates to 
a target. You can have 2-way replication.

I’ve been running 3 way replication (i.e. 4 servers each puching 3 ways) since 
1997. That’s 72 server years of 24x7 traffic.

 

Alan

Reply via email to