2009-07-12 7 views
0

Nous utilisons MS Access 2007 comme notre DB et devraient aider les utilisateurs ayant un accès limité (utilisateurs de puissance):Microsoft Access 2007 et les utilisateurs de puissance

  • Le DB doit être commune à tous les utilisateurs (donc ne peuvent pas être situés
  • Nous ne sommes pas autorisés à accorder des permissions pour tous les utilisateurs pour R/W pour une certaine direction
  • Pourtant, nous avons besoin que tous les utilisateurs puissent utiliser cette base de données.

Quelqu'un peut-il réfléchir à une solution à ce problème? (Je ne peux penser à écrire un service à ce travail, mais je suis sûr qu'il doit y avoir quelque chose de mieux)

+0

Exécutez-vous l'interface utilisateur à l'intérieur d'Access ou d'une couche totalement différente? et seulement en utilisant Access en tant que backend de votre base de données? –

Répondre

0

SQL Server Express peut être utilisé comme base de données principale, et il ne nécessite pas que vous donniez des permissions d'écriture pour un dossier pour tout le monde.

Le SQL Server Migration Assistant 2008 for Access V4.0 peut être utilisé pour migrer les tables de base de données Access vers SQL Server Express. L'utilisation de SQL Server Express en tant que serveur de base de données améliorera considérablement la stabilité et la fiabilité d'Access dans un environnement multi-utilisateur. J'ai travaillé avec Access pendant plusieurs années, dans des installations avec plus de 20 utilisateurs simultanés. Si vous faites quelque chose de similaire, je vous recommande fortement d'utiliser Sql Server ou Sql Server Express comme base de données principale.

+0

Mais cela nécessite le département IT pour s'impliquer. problème que ça vaut la peine. Et si vous rencontrez des problèmes avec la stabilité et la fiabilité d'Access dans un environnement multi-utilisateur, vous disposez alors d'un réseau flaky ou utilisez Access sur un réseau WAN ou sans fil. –

+0

Si vous utilisez une base de données Access pour un backend dans un scénario multi-utilisateur, il ne s'agit pas de savoir si elle va planter, c'est une question de quand. –

+0

Non, Robert Harvey - c'est une question de compétence. Si vous ne pouvez pas concevoir une application Access avec un backend Jet/ACE qui ne corrompt jamais, alors vous n'êtes pas assez compétent pour tenter le travail en premier lieu. –

1

Jetez un oeil à this pour vous aider à prendre votre décision. Personnellement, je ne recommanderai pas d'utiliser Access si votre utilisateur compte plus de 4 utilisateurs simultanés en tant que base de données partagée. J'ai toutefois utilisé la solution lorsque nous utilisons Access en tant que frontal pour un backend SQL Server dans lequel nous mettons en cache les données SQL localement pour un accès plus rapide et repoussons les modifications de données nécessaires vers SQL Server. Et avoir ce fichier Access réside sur l'ordinateur client. La mise en place d'Access n'importe où nécessitera une autorisation R/W sur ce répertoire puisque Access créera un fichier de verrouillage dans ce répertoire (ou de toute façon).

Si vous insistez sur l'utilisation d'Access, j'irais w/Access front end se connectant à SQL Server backend. L'option de partage réseau est faisable si vous n'avez pas beaucoup d'utilisateurs (4 - 8 le plus).

+0

J'ai des clients qui courent 20-25 utilisateurs tout au long de la journée et cela fonctionne et fonctionne bien. Quelques tables ont des enregistrements 800K. –

+0

Je travaillais dans une entreprise où nous faisions cela. Lorsque nous avons migré tous nos utilisateurs vers SQL Server Express, les performances de notre application ont doublé et l'amélioration de la stabilité était essentiellement hors échelle. Certains d'entre eux étaient plus de 20 utilisateurs, mais la plupart d'entre eux étaient cinq. –

1

Vous souhaitez diviser la MDB en une MDB frontale contenant les requêtes, les formulaires, les rapports, les macros et les modules avec uniquement les tables et les relations dans la MDB principale. L'entité FE est copiée sur chaque ordinateur des utilisateurs réseau. La MDB FE est liée aux tables de la base de données principale MDB qui réside sur un serveur. Vous effectuez des mises à jour de la MDB FE et les distribuez aux utilisateurs, probablement en tant que MDE.

Voir la "Splitting your app into a front end and back end Tips" page pour plus d'informations. Voir la page Auto FE Updater téléchargements pour faire ce relativement indolore .. L'utilitaire prend en charge également Terminal Server/Citrix tout à fait bien.

Maintenant, je ne comprends pas bien pourquoi vous avez la restriction mentionnée dans votre deuxième puce Il doit y avoir un dossier commun sur un serveur où tous les utilisateurs ont des privilèges de R/W. Veuillez expliquer cela plus en détail

Questions connexes