Pregunta

Estoy escribiendo una aplicación de base de datos distribuida con un front-end de acceso. Esencialmente un mde con algunos formularios e informes. ¿Debo usar un mdb de acceso para guardar las tablas de back-end o usar MySQL o alguna otra base de datos?

¿Fue útil?

Solución

Personalmente usaría SQL Server Express o MySQL. Se escalan mejor que un backend de Access y cuando está listo para alejarse de Access, puede hacerlo sin tener que convertir el backend, así como el extremo delantero.

Otros consejos

SQL Server Express puede ser una buena solución, pero también tiene algunas limitaciones muy estrictas. Además, debe asegurarse de que su licencia se ajuste a sus necesidades.

Si sus necesidades de concurrencia y escalabilidad son limitadas (por ejemplo, 10 a 15 usuarios concurrentes con cantidades moderadas de E / S), no hay nada de malo en usar un back-end MDB. No soy un fan de Access, pero sé por experiencia que esto normalmente funcionará.

Además, la administración de un back-end MDB es casi gratuita, mientras que MySQL o SQL Server Express requerirán algún trabajo de DBA real. No tiene sentido ir con algo más grande si está razonablemente seguro de que nunca lo necesitará.

Para la implementación real, desearía utilizar una base de datos real, no el motor de base de datos Access / Jet.

Dicho esto, lo mejor del acceso es que tiene una herramienta (busque en el menú) para dividir un solo archivo MDB en una base de datos y un código. Haga eso y luego apunte el código a la nueva fuente de datos.

Es posible que tengas que modificar ligeramente algunas consultas.

Creo que SQL Server Express sería tu mejor opción. MySQL es una buena base de datos para su backend, pero Access se integra mejor con SQL Serv Express (por supuesto, MS quiere que use sus propios productos, incluso si son gratuitos) y Express Edition es bastante bueno considerando que es gratis. Si la aplicación termina necesitando escalar mucho más tarde, entonces una actualización a SQL Server de pago es simple y el controlador es el mismo.

Creo que deberías definir a qué te refieres con " Aplicación DB distribuida. " Ese término, según tengo entendido, usualmente haría que Jet saliera de la ejecución para el back-end.

En realidad, nadie puede responder a su pregunta sin una indicación de la población de usuarios, el entorno operativo, los requisitos de seguridad y confiabilidad, etc. Si es para 10 usuarios y no son datos de línea de negocio, un back-end de Jet podría ser perfecto y Hacer del desarrollo y la administración un pedazo de pastel. Si tiene 100 usuarios, definitivamente querría ir con un servidor back-end. Si tiene consideraciones de seguridad importantes (por ejemplo, el cumplimiento de HIPAA) probablemente querría ir con una base de datos que tenga seguridad de nivel de servidor incorporada y no con Jet.

Pero hay muchas aplicaciones en las que un back-end de Jet sería perfecto: rápido y completamente confiable.

Hay una tercera opción: podría usar algo como Datos EQL para que pueda usar el backend de Access normal, pero dé a cada persona su propia copia (y sincronización entre ellos) para ayudar con problemas de escalabilidad de múltiples usuarios. De esa manera, no necesita entrar en la complejidad de usar un " real " Backend DB.

Al elegir MySQL, necesitaría instalar MySQL Connector (ODBC) en cada cliente. SQL Server Express sería una buena opción si no desea distribuir componentes adicionales, además, ADO funciona mejor con MS SQL.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top