Question

J'écris une application de base de données distribuée avec un frontal d'accès. Essentiellement un mde avec des formulaires et des rapports. Devrais-je utiliser un accès mdb pour contenir les tables du backend ou utiliser MySQL ou une autre base de données?

Était-ce utile?

La solution

Personnellement, j'utiliserais SQL Server Express ou MySQL. Ils évoluent mieux qu'un backend Access et lorsque vous êtes prêt à vous éloigner d'Access, vous pouvez le faire sans avoir à convertir le backend ainsi que le front-end.

Autres conseils

SQL Server Express est peut-être une bonne solution, mais il comporte également des limitations assez strictes. En outre, vous devez vous assurer que sa licence répond à vos besoins.

Si vos besoins en termes de simultanéité et d'évolutivité sont limités (par exemple, 10 à 15 utilisateurs simultanés avec un nombre d'entrées / sorties modéré), l'utilisation d'un back-end MDB n'est pas un problème. Je ne suis pas un fan d'Access, mais je sais d'expérience que cela fonctionnera généralement.

De plus, l’administration d’un back-end MDB est presque gratuite, alors que MySQL ou SQL Server Express nécessite un travail de DBA. Il ne sert à rien d'avoir quelque chose de plus gros si vous êtes raisonnablement sûr de ne jamais en avoir besoin.

Pour un déploiement réel, vous voudriez utiliser une vraie base de données, pas le moteur de base de données Access / Jet.

Cela étant dit, l’avantage de l’accès est qu’il dispose d’un outil (regardez dans le menu) permettant de fractionner un fichier MDB unique en base de données et en code. Faites cela, puis dirigez le code vers la nouvelle source de données.

Il se peut que vous deviez modifier légèrement certaines requêtes.

Je pense que SQL Server Express serait votre meilleure option. MySQL est une bonne base de données pour votre backend, mais Access s’intègre mieux à SQL Serv Express (bien sûr, MS veut que vous utilisiez ses propres produits, même s’il est gratuit) et l’édition Express est plutôt bonne, vu que c’est gratuit. Si l’application finit par nécessiter une réduction importante de la durée, une mise à niveau vers SQL Server payant est simple et le pilote est identique.

Je pense que vous devriez définir ce que vous entendez par "application DB distribuée". Si je comprends bien, ce terme mettrait habituellement Jet hors de la course pour le back-end.

Personne ne peut réellement répondre à votre question sans indiquer le nombre d’utilisateurs, l’environnement d’exploitation, les exigences de sécurité et de fiabilité, etc. Si cela concerne 10 utilisateurs et qu’il ne s’agit pas de données sectorielles, un back-end Jet peut être parfait et faites du développement et de l'administration un jeu d'enfant. Si vous avez 100 utilisateurs, vous voudrez certainement utiliser un serveur back-end. Si vous souhaitez prendre en compte d'importantes considérations de sécurité (conformité HIPAA, par exemple), vous souhaiterez probablement utiliser une base de données dotée d'une sécurité intégrée au niveau du serveur et non de Jet.

Mais il existe de nombreuses applications dans lesquelles un back-end Jet conviendrait parfaitement - rapide et totalement fiable.

Il existe une troisième option: vous pouvez utiliser quelque chose comme données EQL pour pouvoir utiliser le backend Access normal, mais donnez à chaque personne sa propre copie (et la synchronisation entre elles) pour résoudre les problèmes d'évolutivité multi-utilisateurs. De cette façon, vous n'avez pas besoin d'entrer dans la complexité d'utiliser un "réel" Base de données DB.

Si vous choisissez MySQL, vous devez installer MySQL Connector (ODBC) sur chaque client. Si vous n’aimez pas distribuer des composants supplémentaires, SQL Server Express serait un bon choix. De plus, ADO fonctionne mieux avec MS SQL.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top