Synchronize Method

    Example    Applies To

Synchronizes two replicas. (Microsoft Jet databases only).

Syntax

VOIDSynchronize(LPCTSTR pstrReplica,

LONG lType = -1);

Parameters

Type Argument Description
LPCTSTR pstrReplica A pointer to a string that contains the path to the target replica with which this database will be synchronized. The .mdb file name extension is optional.
LONG lType Optional. A constant indicating which direction to synchronize changes between the two databases, as specified in Settings.

Settings

You can use the following constants in the second argument. You can use one of the first three constants with or without the fourth constant.

Constant Description
dbRepExportChanges Sends changes from database object to pstrReplica.
dbRepImportChanges Sends changes from pstrReplica to database object.
dbRepImpExpChanges (Default) Sends changes from database object to pstrReplica, and vice-versa, also known as bi-directional exchange.
dbRepSyncInternet Exchanges data between files connected by an Internet pathway.

Remarks

You use Synchronize to exchange data and design changes between two databases. Design changes always happen first. Both databases must be at the same design level before they can exchange data. For example, an exchange of type dbRepExportChanges might cause design changes at a replica even though data changes flow only from the database to pstrReplica.

The replica identified in pstrReplica must be part of the same replica set. If both replicas have the same ReplicaID property setting or are Design Masters for two different replica sets, the synchronization fails.

When you synchronize two replicas over the Internet, you must use the dbRepSyncInternet constant. In this case, you specify a Uniform Resource Locator (URL) address for the pstrReplica argument instead of specifying a local area network path.

Note You can't synchronize partial replicas with other partial replicas. See the PopulatePartial method for more information.

Synchronization over the Internet requires the Replication Manager, which is only available in the Microsoft Office 97, Developer Edition.

Usage

#include <afxole.h>
#include <dbdao.h>

CdbDBEngin   dben;
CdbDatabase   db;
...                        // Initialize db, etc.
db = dben.OpenDatabase(_T("OutOfDateReplica.mdb"));
db.Synchronize(_T("file:\\website\UpToDateReplica.mdb"),
                  (dbRepImpExpChanges|dbRepSyncInternet));