allemand   anglais - États-Unis   chinois - simplifié   espagnol   français   hollandais   portugais - ibérique  

Home




How to Split a Replicated Access 97 Database (French)

Comment scinder une base de données Access 97 déjà en réplication?

Par Jeffrey Streutker, MCSE

Ceux qui n'ont pas d'expérience avec les bases de données Access sont parfois surpris d'apprendre que la réplication de modification d'objets, autres que les tables, est reconnue pour créer des problèmes. C'est désappointant, de prime abord, car il semble que la réplication soit une bonne technique pour propager les modifications de toute l'application, d'autant plus qu'Access semble le supporter.

Le problème c'est que la réplication fut pensée en n'ayant que les données des tables à l'esprit, pour les applications VB où seules les donnés seraient emmagasinées dans un fichier de type point-mdb. Et c'est sous cette condition que la plus grande partie des tests eu lieu. En autant qu'Access 97 est concerné, il était toujours présupposé que la base de données serait déjà scindée. Pour une introduction sur comment scinder une base de données Access 97, consulter le Chapitre 15, Section 3, du document "Building Applications in Microsoft Access 97", sur le CD d'accompagnement d'Access 97 CD.

Si la base de données n'est pas scindée, vous constaterez que vos fichiers vont croître démesurément, car toute modification apportée au code, ou à un formulaire, est enregistré et fait partie de l'information à propager. Imaginez que vous effectuez 30 essais pour un bout de code, alors chaque essai sera propagé, même si seulement le dernier est digne d'intérêt. En pratique, un développeur scindera la base de données en deux pour éviter ce problème: après un certain temps (même des mois) sans pépin, soudainement, un module refuse de répondre ou un formulaire ne peut plus être ouvert.

Donc, comment scinde-t-on une base de données déjà répliquée? Voici les étapes suggérées.

  1. N'utilisez pas l'assistant (wizard). Cette façon de faire converti votre base de données de telle sorte qu'elle n'est plus répliquable.– L'assistant envoie les tables dans un autre fichier en convertissant le reste dans la base de données, dans le répliqua. Il nous faut plutôt faire l'inverse, envoyer tout sauf les tables dans un autre fichier et conserver les tables à l'intérieur du processus de réplication et la portion d'avant plan ne fait plus partie du processus, pouvant alors être copiée pour chaque utilisateur.
  2. S'assurer que tous les répliquas sont actuellement synchronisés, juste au cas où le Maître deviendrait corrompu.
  3. Créer un nouveau fichier d'avant-plan. En copiant l'exemple de Microsoft, vous pouvez le suffixer de _fe, même si le nom que vous donnez n'est pas vraiment important en soi.
  4. Le fichier créé en étape 3 demeurant ouvert, y importer toutes les requêtes, tous les formulaires, macros et modules depuis le Maître. Si vous avez un formulaire de navigation (Switchboard) généré par l'assistant, vous devez également importer la table des Items du Switchboard.
  5. Créer un lien aux tables du Maître.
  6. Si vous avez personnalisé la sécurité, vous venez de perdre les assignations sur les objets nouvellement copiés. Vous devrez donc recopier ces permissions dans le nouveau fichier d'avant-plan.
  7. Il vous faut ajouter le code vous permettant de remettre à jour les liens à votre répliqua local. Vous trouverez l'aide pour ce faire dans le  Developer Solutions database, qui accompagne Access 97. Sélectionner  "Link tables at startup" depuis la catégorie "Use Multiple Databases".
  8. Distribuer la version d'avant plan à tous vos utilisateurs. Ce fichier n'est jamais propagé. Avertissez vous utilisateurs d'utiliser cette version et lorsque vous vous êtes assuré qu'ils utilisent cette nouvelle version, vous entreprenez la conversion de votre fichier Maître en un fichier arrière-plan, les deux prochaines étapes, de sorte qu'à la prochaine synchronisation, les répliquas deviendront également des arrière-plan.
  9. Ouvrir le fichier Maître et en effacer tous les objets que vous y avez extirper par copie à l'étape quatre.
  10. Compacter le fichier Maître  deux fois, puis le synchroniser avec tous les autres répliquas.
Note: Si vous désirez suivre la nomenclature de Microsoft utilisée dans son assistant pour scinder les bases de données, préfixer le nom des arrière-plan avec"_be". La façon la plus sécuritaire pour ce faire est d'utiliser le  Replication Manager avec la commande  Move Replica.

Jeffrey Streutker is an IT Manager for a HVAC (Heating, Ventilation, and Air Conditioning) Controls company in the Toronto area. He is an electronics technologist who has also studied computer science and mathematics at the University of Waterloo, Canada, and has periodically done programming work since 1985 in many different languages. His current project is converting an extensive Lotus Notes-based database system to Access 97, including replication, in order to support technicians in the field with service-tracking and purchase order generation databases, and master address book with fax client/server support.

Return to Replication Resources