We require to develop an application in Access 2002 / XP that will
be used by remote user(s) in the middle east / africa, where the
user may only have a dial-up connection avalible from their
locationbact to our home office in the UK.
Is replication via dial-up possible / recomended - I have read
that if the connection breaks, the database may corrupt, which is
more likley over dial-up then broadband.
Over dial-up or broadband (any connection less than 10Mbps and that
is not reliable, such as wireless), you would need to use indirect
or Internet replication. Both of those are completely safe over
dialup.
Is splitting the database recomended?
Recommended?
That's like asking if breathing is recommended for living.
Of course the app should be *split*.
Every Access app, no matter if it's replicated or not and no matter
if it's used by 1 or 100 users should be split.
Period.
There is no gray area there.
And with replication it is REQUIRED because replication is a Jet
technology and works over the long term only with pure Jet objects
(tables and queries). If you replicate a front end, you'll
eventually corrupt the project and likely lose it entirely.
What steps do we have to reduce the risk of problems replicating
the database?
First you need to make sure your app is going to work in a
replicated scenario schema-wise. Some things to watch for:
1. don't replicate temp tables.
2. if the same data is being updated in multiple locations, then it
will be a poor candidate for replication, as you'll always be
resolving conflicts.
3. if the data is mostly add by users and then only updated by the
same user, then it will be pretty safe.
Then you need to read up on indirect or Internet replication. I
would recommend indirect over Internet, as it has fewer dependencies
outside Access/Jet. But it's still rather complex to set up. I
explain how to do it if you don't have Replication Manager (which is
extremely hard to come by these days as it is not included in the
developer tools for Office 2003 or Office 2007):
http://groups.google.com/group/microsoft.public.access.replication/ms
g/3b7167c1462b2d2f
Someone else goes over the same ground in slightly different terms
here:
http://www.vsj.co.uk/articles/display.asp?id=560
But before you do all that, you should definitely review all the Jet
Replication documentation. For Jet 4 that would be:
* Replication White Papers
http://support.microsoft.com/?id=190766
* PDF Versions of the White Papers
http://dfenton.com/DFA/Replication/Files/WhitePaper4_0_Replication.pd
f and
http://dfenton.com/DFA/Replication/Files/WhitePaper4_0_InternetReplic
ation.pdf
* Jet Replication FAQ
http://support.microsoft.com/?id=282977
* Things not to believe in the MS documentation:
http://www.dfenton.com/DFA/Replication/index.php?title=Things_not_to_
believe_in_the_MS_documentation
* Michael Kaplan's old site
http://trigeminal.com/
* The archives of this newsgroup on Google Groups.
Last of all you may find my Jet Replication Wiki marginally helpful
(it's quite incomplete):
http://dfenton.com/DFA/Replication
That's a lot, but Jet replication is complicated and needs to be
carefully planned to work.
When you do all the planning and follow best practices, it works
very well.
However, that said, whenever possible, I'll implement support for
remote users with a Terminal Server, which works just fine across
dialup (though not as responsive as running locally).