Full Version: WAN Deployment / Auto Data syncronisation
UtterAccess Discussion Forums > Microsoft® Access > Access Q and A
Mad_Mick
Hi All,

BACKGROUND:
I have small db (Split FE/BE) that needs to be deployed accross our companies national WAN (Australia Wide Approx 30 sites, 60 - 80 Users).

After some testing from a few different places I have established that there is no one single location that the back end could be set-up to allow all front ends to have a suitable access speed. (Due to band width and physical locations of some remote sites.)

I have figured that the best I can do is to set up a BE on a server at each of the sites and schedule an overnight syncronisation to a Master BE located on a server. This way users will have fast connections for day to day operation and it does not matter if it takes a while to syncronise.

MY PROBLEM:
All of the databases that I have built have been single location or LAN deployment, thus not too many issues with connection performance between FE/BE.

Can anyone suggest a means of syncronising 30 different BE with the master each night?

Any ideas would be sensational at this point.

Regards
Mick
R. Hicks
You need what is known as "Replication" ...
Search Access for Replication or possibly Replcated Databases ...

RDH
r_cubed
I agree with Ricky, 'replication' is (probably) the way for you to go with this.

I have/had one application that was 'New South Wales' (to the aussies) wide, so had to do a similar scenario, if you were looking for some extra info/help.

Australia-wide is a 'BIG WAN' !!!!!!!

Please note, that BEFORE going into 'replication' , my advise is to think it out clearly, and plan, plan, plan.

It may be that you could also just have 'partial replicas' if the differing areas ONLY need to see 'their' data, and then have each area 'synch' to a 'Mother replica' overnight.

There is a lot to think about, and I HAVE been 'down that track' .......
Shane
Replication is one solution but the conversion of a Access DB to WAN can take quite a bit of thinking about.

The three solutions that I have tried to implement are, Replication, Converting the BE to MySQL and hosting this on a web server and terminal emulation.

Of these terminal emulation is the quickest and easiest to implement and can work well in some circumstances.

My work with replication started last summer (following a post from Rob). To be honest I've found this difficult to manage. I have tried to use Replication Manager but have not been able to get this to work satisfactorily and am now developing my own replication software. Issues of most concern to me are how users are made aware of and handle data conflicts and what happens if any data becomes corrupt. I am implementing my database on customers sites and it is then up to them to manage it, as a result I need to have very reliable and simple to use software.

My conversion to MySQL is still not complete but so far is looking like the best solution for me. Of my three options this has required most work to convert my database but once complete it is the most like the original application run over a LAN.


Hope this helps

Shane
Mad_Mick
Hi All,

Thanks for the suggestions, I have been away over the weekend here researching a few options. I have found an article on 'programmatic replication' on MSDN (Implementing Database Replication with JRO) web page

I have to say that I got fairly excited by this prospect, it seemed to fit into the plan -

With so many locations, I was not keen on manually replicate through the Access Replication Menu, it defiantly has to be automated over night. Unfortunately Rob, I do have to have all data available to all users, but the partial rep seems to add an extra complexity at this point as well.

The code really seems to be straight forward, I have a test form that creates the master and copies replica BE to any location that I have access to. But I have hit a snag on the sync. MS rightly suggest that the indirect sync is the correct option for a WAN, but I have started to develop a test form for that and - Run-Time Error '-2147024809 (80070057) Could not find Synchronizer in the MSysTranspAddress table.' Could this just be my installation of Access, I have had other issues with big parts of the help being missing also. (test db attached)

I believe that if I could get past this point I could use a list of the sites, and sync forward and then back again (with a master copy becoming further up-to-date each time) through the list. (Not completely that simple, but in concept at this point)

Ideally I think that this application would be better served with different technology, but my company are resource poor (or at least tight), so the job has fallen on me. (lowly systems admin/access dba)

At any rate, I would be still keen to hear more about your emulation Shane, if you have time to put a few things down, what did you use?.
Mad_Mick
Sorry error occurs for me on

CODE
  
Sub TwoWayIndirectSync(strReplica1 As String, strReplica2 As String)
Dim repReplica  As New JRO.Replica

   repReplica.ActiveConnection = strReplica1
   ' Sends changes made in each replica to the other.
==> repReplica.Synchronize strReplica2, jrSyncTypeImpExp, jrSyncModeIndirect <==
   Set repReplica = Nothing
  
End Sub


Mick
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.