Link to home
Start Free TrialLog in
Avatar of elte
elte

asked on

Remote Replication via phone (dialup)

Hi,
I have an access db on my laptop which is replica of the db on my pc at office. How can replicate via phone, without incolve internet? I need to make a button to :
a. Call my office number
b. Make the connection throu single modem
c. Replicate
d. Close.

It is urgent to do that because my home from office is 185 km and it is realy hard to go there every day.

Thank you for understanding.
Elte
Avatar of JamesMayfield
JamesMayfield

Easy enough to do the dial up thing. It's the answering at the other end that will cause you the most difficulties.
I guess a product like PC-Anywhere could help you to make a rather secure connection. One of the options is the possibility to connect and let the Office PC call you back. Thus only your homephone can be used to buld te connection (and the call is payed by the office...;-)

For the normal replication (when you have replication enabled for the database), you would only need to place your file in the workmap folder on the desktop to get things started.
BTW if you start with enabling your database for replication, I would personally create a "master"-copy to have a non-replicated original. I found that replication is adding fields to the tables and resets an autonumber index to randomly generate (+ and -) numbers. My application wasn't handling that in a correct way the first time...

Hope this helps a bit.

Nic;o)
'Tis a bit of a bugger that one.

Having autonumbers when you have mroe han one copy of a database is a BIG problem.

Can't think of a solution off the top of my head.
Hi James,

You don't need autonumbers as you can create them yourself by using DMAX(<keyfield>) + 1 when inserting a new entry....

Nic;o)
Nah, not true. This will still cause problems.

Take this for example....

Replicate application, with max in myID of 12345.

Local version Max+1 = 12346. Record 12346 written.

Remote version Max+1 = 12346. Record 12346 written.

Attempt to merge two versions.....

Record 12346 does not contain the same data, therefore needs to be updated so that both versions have the same data, but which one keeps the 12346 number?

Thought of a way of doing it though, it will mean having to force referential integrity on every join with a cascade update. Still VERY messy, but could work.
To James,

This won't help the original questioner at all, but just to clarify (otr correct) your comments :

you WON'T get ANY duplicated autonumbers generated when you are dealing with a REPLICATED database. As nico5038 stated earlier, the autonunmber field for every table is (automatically) changed to "random" when you initially create a "replica" (set) and there is an enormous algorithm used from then on when generating the (random) autonumber value from then on within each independent replica (the algorithm does use the "absolute" nanosecond & the actual Mac Address (which is guaranteed to be unique and will be for next 50 years) of the PC from where the record is being generated, plus other factors to generate the autonumber, which can be a positive or result.

I have a system used by over 250 users split into 8 different replicas over an entire state in Aust and I can assure you that there has NEVER been a duplicated autonumber generated yet.

What you do have to ensure is that you have don't have any code/processes etc based on whether an autonumber field is greater than (>) 0 (zero), as these will fail AFTER converting to a "replicated" system (been there, done that, so I have been burnt personally)
There is still a finite number of long integers.
So you do still need to cater for the fact that you MAY have a duplicate. It only takes one duplicate to stuff the whole thing.
James, yes, you are absolutely correct. There are only 4,294,967,325 (negative limit to positive limit) long integers available, but you point me to a SINGLE table in any database that has the need for THAT many individual records and I'll point you to a system that needs to be really looked at.
Avatar of elte

ASKER

Hi to all,

I'm watching the discussion about autonumbering and I'm still waiting a solution of my problem.
About my db :
a. There is no autonumber in any field on my db.
b. Where necessary, I made a string unique field

The problem is that I need code to connect the the replica with the my office's db without any programm (PC-Anywhere).

If it is possible with one "click"..

Thank you

Elte
I believe the only dialing that Access can do on it's own is for voice (I might be wrong).

But, to do the replication, you'll need a TCP/IC connection.  Depending on the machine at work (I know Win98/NT can), you can set up Dial-Up Networking Server.  Then set up a Dial-up Networking Connection on your laptop and dial the computer.

You should have access to all shared drives that way and can then start up the replication.

dill
No, no, access can do dialing for data.

I will put code here over the weekend!

You just reminded me of some I have in an old application!
Glad I could help  ;)
Avatar of elte

ASKER

Hi to all,

Hello James , I did put all my expectations on you and i hope you find that you have in an old application.

If anyone wants can send me email in :
           elte@otenet.gr

Thank you again
Elte
Sorry. I've been very buys with work.
I'll try to do it tonight.
Avatar of elte

ASKER

Thank you very much James

Elte

ASKER CERTIFIED SOLUTION
Avatar of JamesMayfield
JamesMayfield

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of elte

ASKER

Thank you very very much James. I'll try to put it in my db.
I had a problem with auto numbering many moons ago. Wasn't using replica datbases though!

I got around it by creating a custom "autonumber" function in VB. It took the time and date (right down to milliseconds) and created a serial number, then for good measure I found in function on MSDN that would get a serial number of a hard disk on which the application was located.

Add the strings together to get a long, but very unique ID number like:
0407200213350101-HVD02-1234

Hope this help someone coz it took me days to figure it out!