[synchronisation de la base de données d'accès] Analyse de l'idée de maintenir la base de données Access synchronisée

  La synchronisation (synchronisation) est un concept important impliqué dans l'application de la base de données dans l'environnement réseau. Le processus de base est grossièrement divisé en les étapes suivantes:

  1. Définissez d'abord une base de données en tant qu'attribut de copie copiable, afin qu'elle devienne la conception d'origine (la conception d'origine dans VB, le maître de conception dans ACCESS).

  2. Ensuite, selon les besoins de mise en œuvre de l'application, plusieurs copies (appelées doublons dans VB) sont copiées à partir du dessin original, et ces copies forment une collection de copies (le dessin original est également considéré comme la première copie initiale).

  3. Enfin, lorsque les données ou la structure d'une réplique de l'ensemble sont modifiées, le mécanisme de synchronisation est activé pour envoyer la modification et l'appliquer aux autres membres de l'ensemble de répliques, afin que les membres de l'ensemble de répliques conservent la cohérence des données ou de la structure.

  Ce processus de synchronisation est appelé synchronisation. Afin de réaliser la synchronisation, VB6.0 fournit plusieurs attributs et méthodes dans l'objet de base de données pour réaliser ce processus. Ce qui suit présente les principaux attributs et méthodes, qui correspondent à plusieurs étapes de synchronisation:

  1. attribut réplicable:

  L'attribut réplicable est utilisé pour rendre un objet de base de données ou des objets de table, des objets de requête et d'autres objets de la base de données pour être copiables, c'est-à-dire pour devenir la conception d'origine. Cependant, l'objet de base de données ne fournit pas l'attribut réplicable, vous devez donc d'abord utiliser la méthode CreatePropety pour le créer, puis l'ajouter au jeu d'attributs de l'objet et enfin lui attribuer une valeur, afin que la base de données devienne la conception d'origine. Pour les objets de base de données, la définition de la propriété Repliable sur "T" rend l'objet de base de données réplicable. Le code suivant fera de la base de données Nwind.mdb attachée au répertoire d'installation de VB6.0 devenir une conception originale (pour garantir la sécurité, il est recommandé de sauvegarder ce fichier de bibliothèque avant l'opération):

  Private Sub Command1_Click ()

  Dim dbNwind As Database

  «Si vous ne citez pas DAO à la fin, vous devez d'abord le citer

  Dim prpNew As, propriété

  Définissez dbNwind = OpenDatabase ("Nwind.mdb", True)

  Avec dbNwind

  'Créer un attribut réplicable, si l'attribut existe déjà, le programme ignore cette étape

  En cas d'erreur Reprendre ensuite

  Définissez prpNew = .CreateProperty ("Replicable", dbText, "T")

  .Properties.Append prpNew

  'Définissez la propriété Repliable de la base de données sur True

  .Properties ("Replicable") = "T"

  .Proche

  Terminer par

  End Sub

  2. méthode MakeReplica:

  La méthode MakeReplica copie une nouvelle copie complète de la conception d'origine. La syntaxe est: database.MakeReplica replica, description, options, où replica est une chaîne représentant le nom de chemin d'une nouvelle copie; description est une chaîne de description pour la nouvelle copie en cours de création; options est une option, qui peut être une constante dbRepMakePartial (Créer une copie partielle) ou constante dbRepMakeReadOnly (pour empêcher les utilisateurs de modifier les objets copiables dans la nouvelle copie), si vous souhaitez créer une copie partielle en lecture seule, vous devez ajouter les constantes de paramètres dbRepMakeReadOnly + dbRepMakePartial.

  Dans le premier exemple, avant de fermer la base de données, ajoutez le code: .MakeReplica "NwReplica", "réplique de nwind.mdb", puis copiez une copie appelée NwReplica.mdb à partir de la conception d'origine de Nwind.mdb chez Nwind. mdb dans le même répertoire. Voici une fonction qui peut être appelée de manière flexible dans des applications réelles en passant des paramètres. Chaque fois que la fonction est appelée, une nouvelle copie peut être créée:

  Fonction MakeAdditionalReplica (strReplicableDB As String, strNewReplica As String, intOptions As Integer) As Integer

  Dim dbsTemp As Database

  En cas d'erreur GoTo ErrorHandler

  Définissez dbsTemp = OpenDatabase (strReplicableDB)

  'Si un paramètre est donné à la fin de intOptions lors de l'appel de cette fonction, l'élément de paramètre est ignoré,

  'La valeur par défaut est de créer une copie complète, lisible / inscriptible, sinon utilisez les paramètres fournis pour créer une copie comme requis

  Si intOptions = 0 Alors

  dbsTemp.MakeReplica strNewReplica, "Réplique de" & strReplicableDB

  Autre

  dbsTemp.MakeReplica strNewReplica, "Réplique de" & strReplicableDB, intOptions

  Fin si

  dbsTemp.Close

  ErrorHandler:

  Sélectionnez le casse Err

  Cas 0:

  MakeAdditionalReplica = 0

  Fonction de sortie

  Sinon:

  MsgBox "Error" & Err & ":" & Error

  MakeAdditionalReplica = Err

  Fonction de sortie

  Fin de sélection

  Fonction de fin

  3. synchroniser ize :

  La méthode Synchronize synchronise deux copies complètes (y compris la conception originale). La syntaxe est la suivante: database.Synchronize pathname, exchange. Où chemin d'accès est la chaîne de nom de chemin de la copie cible à synchroniser (l'extension .mdb dans la chaîne peut être omise); l'échange est utilisé pour identifier la direction de synchronisation entre les deux bases de données (comme indiqué dans le tableau 1), il s'agit d'une option, par défaut Il s'agit de la troisième option du tableau, qui est un échange bidirectionnel. En utilisant la quatrième option de constante dbRepSyncInternet dans le tableau, vous pouvez également synchroniser la base de données connectée via Internet,

  À ce stade, le chemin d'accès représentant l'option de chemin d'accès au réseau local doit être remplacé par une adresse URL.

  Tableau 1. Constante de direction de synchronisation

  Constante

  Sens de synchronisation

  DbRepExportChanges

  Nom de chemin de la base de données à copier

  DbRepImportChanges

  Du nom du chemin de copie vers la base de données

  DbRepImpExpChanges

  Modifications de l'échange bidirectionnel (par défaut)

  dbRepSyncInternet

  Transférer les modifications entre des bases de données connectées via un chemin Internet

  Avant de synchroniser les opérations, assurez-vous que vous avez utilisé l'attribut réplicable pour créer une base de données à partir de la conception d'origine et utilisez la méthode MakeReplica pour copier plusieurs copies.

  Après l'instruction copy copy ajoutée dans le premier exemple, ajoutez l'instruction suivante: .Synchronize "NwReplica.mdb", dbRepExportChanges, pour apporter des modifications à la conception d'origine de la base de données Nwind à la copie NwReplica. Nous pouvons modifier certains contenus de données dans la bibliothèque Nwind.mdb, puis exécuter cet exemple, nous constaterons que le changement de la bibliothèque Nwind.mdb s'est reflété dans la copie de NwReplica.mdb.

  L'instruction ci-dessus réalise la synchronisation du nom de chemin de la base de données vers la copie (en transmettant les données de conception d'origine ou les modifications structurelles à la copie), et en changeant la constante dbRepExportChanges en dbRepImportChanges et dbRepImpExpChanges peut respectivement atteindre le chemin du chemin de copie vers la base de données (la base de données reçoit la modification sur la copie) Et échange bidirectionnel (transfert de données bidirectionnel entre les deux) synchronisation.

  La méthode Synchronize peut également synchroniser les bases de données connectées via Internet. L'instruction suivante synchronise la base de données locale d'origine avec une copie située sur le serveur Internet: dbNwind.Synchronize "www.mycompany.myserver.com" & "/ files / NwReplica. mdb ", dbRepImpExpChanges + dbRepSyncInternet

  4. Méthode PopulatePartial:

  Ce qui précède introduit l'utilisation de la méthode Synchronize pour synchroniser deux copies complètes, il n'y aura pas de problème, mais si vous utilisez une copie complète pour synchroniser une copie partielle, car la copie partielle est utilisée par le filtre de copie pour filtrer la régénération à partir de la copie complète, elle peut Des enregistrements dits "orphelins" sont générés dans certaines copies, c'est-à-dire que ces enregistrements ne peuvent plus être synchronisés avec d'autres copies. Pour résoudre ce problème, une autre méthode appelée PopulatePartial est introduite. Cette méthode est similaire à la méthode Synchronize, sauf qu'elle synchronise la copie partielle avec la copie complète. Lors de la synchronisation, effacez d'abord tous les enregistrements de la copie partielle, puis selon Le filtre de copie actuel est utilisé pour régénérer une partie de la copie, ce qui résout le problème des enregistrements "orphelins". La syntaxe est: database.PopulatePartial dbname. dbname est le nom de chemin de la copie complète. En raison de l'espace limité et de sa similitude avec la méthode de synchronisation, elle ne sera pas répétée ici. Pour une description plus détaillée, veuillez consulter l'aide en ligne appropriée.

 Logiciel de synchronisation de base de données

Je suppose que tu aimes

Origine www.cnblogs.com/sqlserver-mysql/p/12740321.html
conseillé
Classement