2010-03-30 2 views
1

J'aide une entreprise en fournissant une base de données Access pour gérer des requêtes de différents types. Comme ils sont une entreprise de construction, ils ont une machine dans un «bureau» sur le site de construction, plus 3 basés dans leur bureau principal. La machine sur le site n'a pas de connectivité Internet.Synchronisation de tables dans des bases de données Access à distance

Existe-t-il un moyen (assez simple) de synchroniser les bases de données hors site et sur site de temps en temps? Je réalise que les tables pourraient être fusionnées, mais chacune a un champ d'auto-incrémentation qui doit être synchronisé entre les instances (c'est-à-dire lors de la fusion de deux tables, l'auto-incrémentation devrait être réaffectée en fonction de la combinaison d'enregistrements).

Vive à l'avance,

Paul

Répondre

0

Pour votre champ NuméroAuto PK utiliser un ReplicationID (GUID) au lieu d'une longue pour que les chiffres seront uniques à travers toutes les copies de la base de données, même si elles sont débranché.

Il existe de nombreuses options de réplication avec Access. Voici un article pour vous aider à démarrer.
Understanding Access Replication

+0

Er, Access ne gère pas bien les GUID (http://trigeminal.com/usenet/usenet011.asp?1033), bien qu'il n'y ait rien de complètement insurmontable. En outre, recommander ReplicationID et la réplication dans la même publication est également lié aux problèmes, car l'utilisation d'un ReplicationID comme PK brise le résolveur de conflit intégré. –

1

réplication Jet est une réponse, mais pas facile, comme pour un emplacement distant, vous devez utiliser la réplication indirecte ou Internet, qui sont tous deux assez complexes à mettre en place et nécessitent un entretien régulier pour maintenir un fonctionnement fiable . Cela dit, la réplication indirecte fonctionne très bien (je n'ai jamais utilisé la réplication Internet en raison de la dépendance câblée sur IIS, ce que je considère comme inacceptable).

Pour un guichet unique sur le sujet de la réplication de jet, voir le Jet Replication Wiki. Microsoft abandonne progressivement la prise en charge de la réplication Jet dans Access (même si je pense qu'elle sera prise en charge tant que les fichiers MDB seront pris en charge sans conversion). Une meilleure solution au problème pourrait donc être d'utiliser les outils Microsoft. en place pour remplacer la fonctionnalité de réplication Jet fournie. Ce serait Sharepoint, bien sûr. En A2007, Sharepoint était trop insuffisant pour remplacer la réplication Jet, mais à partir de A2010 et Sharepoint 2010, tout cela change.

Si j'avais un nouveau client qui venait me voir avec cette exigence, même si j'ai des années et des années d'expérience avec la réplication de Jet, je recommanderais A2010 et Sharepoint 2010 comme solution au problème, et dirais attendre.

Il se peut qu'un client ne veuille pas utiliser un serveur Sharepoint, et dans ce cas, Sharepoint est hébergé, ce qui devrait prendre en charge Sharepoing 2010 peu après la publication d'Office 2010 en mai.

Bien sûr, il est également possible de programmer la synchronisation manuellement, mais c'est assez complexe dans un scénario multi-maître. Cependant, si les enregistrements des deux bases de données ne se chevauchent pas (c'est-à-dire que les enregistrements créés dans l'une ne sont pas mis à jour dans l'autre), ce n'est pas un problème aussi grave. Les suppressions sont un problème plus difficile, mais non insoluble.

+0

Merci d'avoir pris le temps de répondre. Je vais mettre en place un document de justification d'entreprise et proposer SharePoint hébergé. Ils sont en général une entreprise d'achat Microsoft et je pense que SharePoint peut résoudre un certain nombre d'autres problèmes qu'ils rencontrent. – codinghands

+0

Je ne recommanderais aucune version de Sharepoint avant 2010 en raison du manque d'application réelle de l'intégrité des données dans les listes Sharepoint. –

Questions connexes