Hi
I am considering the implementation of replication in an Access project
I developed for a client some time ago. I'm on Office 2003 and I have a
copy of the MS Visual Studio 2005 Office System Tools. The replication
and subsequent synchronization should be as painless as possible for the
client, some sort of one-click implementation would be ideal. Here's
some explanations and pre-condictions:
- the DB is split, i.e. it is split in a front end and a back end
- the DB is (now) accessed only be a few select users, not more than 5
in any case
- the DB contains information on about 100 cities, towns and villages
(read: it's a central data pool for a county), these municipalities are
the central information point around which the data model is built
And here's the requirements:
- once every few years the client conducts sort of an audit with each
municipality and would therefore like to send them their data (partial
replica) in advance for updates and review
- the updated data would then be reintegrated into the main DB
- there can be changes in the master copy (main DB) while the replica is
being processed by the municipality
- a direct network connection from the municipalities to the central DB
is not an option
- some municipalities probably don't own a copy of MS Access, here's
probably where the Access Runtime from the Visual Studio comes in handy
Now here's the obstacles I have encountered so far:
Replica priority: By design it's not trivial in a synchronization to get
a partial replica to overwrite a record in its parent (main) DB (child
priority = 0.9 * parent priority). I realized that I can set the
priority using JRO replication. But what priority do I set if I want to
force the conflict manager to re****t as many conflicts as possible, i.e.
avoid automatic overwrites in the child DB and omitted updates back in
the parent DB? In my understanding both replicas' priority must be equal
for this. I did not, however, find out how to elicit the priority of the
parent replica to set the child's priority accordingly upon creation.
Also, I realize that it's not good practice to keep the Design Master as
the main DB. In my case I would like to keep it and only give a global
replica to the client. The idea is, that it would be easier for me to
make updates per the clients request and synchronize them to his
replica. The problem there is again, I would risk overwriting/deleting
my clients records because I only keep a minimal amount of real data in
the Design Master.
So, my questions are:
- Should I further persue the replication path or is there a better
alternative for my case (few users, wide distribution of partial data
sets with subsequent reintegration)?
- How do I find out what a replica's priority is?
- I'd like to leave the front end untouched by replication, is that
possible?
- Has anyone here got any sample code that would allow me to build a
simple (one click) solution? The idea is that the cliens only has to
select a municipality and click a button for the creation of the
corresponding partial replica.
Sorry for the lenghty post, but I wanted to be as specific as possible.
Thanks for any information on this!
Dominik


|