0

Je dois créer une base de données Access 2003 et la partager parmi 100 utilisateurs, les utilisateurs n'apporteront aucune modification, uniquement l'affichage de plusieurs rapports générés quotidiennement (et une fois) à l'aide d'une tâche planifiée sur la machine hôte.Performances de la base de données Shared Access 2003

Un utilisateur simultané de 100 casserait-il les performances dans ce contexte?

Que pourriez-vous me conseiller concernant ce flux de travail?

ne comprend pas:

  • Utilisation d'un serveur de base de données (SQL Server, ... etc) est hors sujet
  • Je l'ai déjà pensé à sortir les rapports en HTML statique, mais maintenant je veux d'abord évaluer le partage de la base de données tout (parce que la capacité de filtrage peut être nécessaire)
  • Je voudrais éviter la réplication

Répondre

1

Vous avez utilisé le mot "hôte". Rappelez-vous, Access n'est pas un vrai moteur client-serveur: il donne simplement accès aux données; les consommateurs tirent les données vers leurs machines locales, où leur version locale d'Access Access ou de développement d'accès local exécute la requête par rapport aux données téléchargées. Des «trains de marchandises» entiers peuvent tomber sur le bureau.

Il y a quelques années, nous avions une grande base de données que le client voulait dans Access (éventuellement déplacé vers Oracle). Certaines requêtes allaient consommer entre 90% et 100% de la bande passante LAN disponible pendant 15 à 30 secondes, période au cours de laquelle d'autres opérations d'écriture sur des bases de données complètement différentes sur le réseau expireraient, entraînant une corruption des données. Donc, la principale préoccupation de votre scénario serait les effets d'une dégradation peut-être sévère sur d'autres applications. Cela dépend de la taille de votre base de données et de la nature de vos requêtes derrière les rapports.

Je vous recommande de "mettre en attente" les rapports si vous le pouvez, afin que chaque exécution d'un rapport n'invoque pas la requête qui instancie les données derrière lui.

EDIT: Une alternative, si cela est nécessaire, serait d'avoir un serveur web fonctionnant sur la même machine que l'Access "host" exécutant les requêtes, et servant les rapports de résultat final aux consommateurs navigateurs en HTML. Cela permettrait de réduire la consommation de bande passante. Le LAN devient "le nuage".

+0

Salut Tim. En fait, j'ai utilisé le mot ** host ** pour désigner la machine centrale qui partage l'accès à la base de données. J'ai également décidé, au jour le jour, immédiatement après la collecte de nouvelles données, de stocker le résultat de la requête dans un tableau plutôt que de créer les rapports. Ensuite, lorsque les utilisateurs exécuteront un rapport, celui-ci sera construit au-dessus de cette table, de sorte que la seule requête exécutée sera celle qui est filtrée (en fonction de l'entrée de l'utilisateur); cette requête est simple comme l'enfer, elle ressemble à: SELECT * FROM T Où X = B et A = Z AND (R entre 10 ET 1010100) ET SS> TT ... etc Que pensez-vous? – CoolStraw

+0

Si vous insérez les résultats de la requête dans une nouvelle table, de sorte que les rapports soient basés sur un petit sous-ensemble statique de vos données, vous les «conservez» comme je l'ai suggéré. C'est bon. Mais la simplicité apparente de l'instruction SQL n'est pas importante; c'est le nombre d'octets qui doivent traverser le fil. La consommation de bande passante dépend de la taille de ces tables statiques qui se trouvent derrière les rapports. – Tim

+0

Je vois, alors je vais essayer de comprendre à quoi ressemblera la charge du réseau et essayer de mettre cela en place. Merci beaucoup l'homme, très bons points! – CoolStraw

1

Si vous donnez à chaque utilisateur leur propre copie de l'avant et lié à th La source de données, alors vous pourriez sortir avec 100 utilisateurs si le réseau est à la hauteur. J'ai environ 100 utilisateurs plus lus que sur un DB d'accès, mais ils ne sont pas tous de l'utiliser en même temps

Vous pouvez automatiser l'installation d'extrémité avant grâce à l'excellent autoFE updater www.autofeupdater.com/

+0

Merci pour le conseil. Même si je ne peux utiliser aucun logiciel tiers, l'autofe est hors de portée. – CoolStraw

+0

Avant d'en savoir plus sur AutoFE, j'ai "roulé" le mien en utilisant une petite base de données d'accès bootstrap qui se trouvait sur le lecteur réseau. Lorsque les utilisateurs ouvrent cette DB, ils vérifient s'ils ont le vrai frontal sur leur ordinateur, s'ils ne l'installent pas et ne le lancent pas. Si c'est le cas, il vérifie s'il est à jour et le met à jour si le numéro de version est inférieur à celui du serveur.Tout cela en utilisant juste des bases de données d'accès, pas d'outils tiers –

+0

Ouais, mais je ne sais pas si j'en aurai vraiment besoin pour le moment, parce que je vais en faire une version puis la déployer et c'est tout , mais je garderai cela à l'esprit. Merci beaucoup – CoolStraw

Questions connexes