2010-08-02 5 views
6

Actualmente tengo una base de datos de Access. Hay un backend, y hay varios usuarios que usan esta base de datos con su propia interfaz. El tamaño de los datos es muy pequeño; Sin embargo, hay varias formas que están constantemente en uso.¿debo escribir un frente de acceso o un extremo frontal C#?

Necesito migrar los datos a MySQL. ¿Debo continuar usando un front end de acceso o programar mi propio front end c? ¿Por qué uno sería mejor que el otro?

+4

que todo depende: en el presupuesto, su perfil actual, número de formularios ... –

+1

Cuando dice "C# front-end" ¿está hablando de WinForms, WPF, ASP.NET WebForms, ASP.NET MVC o Silverlight? –

+0

jesse, probablemente winforms, ¡lo más simple posible! –

Respuesta

7

Creo que todo está bien completamente loco o no sabe absolutamente nada acerca de Access.

bien es cierto que las herramientas de convertir a SQL Server para SQL Server son más fáciles de usar que cualquier cosa a su disposición para convertir a SQL Server a MySQL. Pero la dificultad de la ampliación no debe impulsar su elección de back-end, porque es una opción de una sola vez. Elija su base de datos de back-end en función de lo que funcione mejor para usted. Si bien SQL Server Express es gratuito, tiene una serie de limitaciones que MySQL no tiene.

Como ya he dicho en los comentarios, puede exportar una tabla de Access a MySQL mediante la definición de un DSN para su base de datos MySQL y simplemente con el comando Exportar en el menú archivo de Access. Los resultados no serán necesariamente perfectos, por lo que es posible que tenga que modificar los resultados, truncar la tabla MySQL e insertar los datos reales una vez que todas las tablas MySQL estén en su lugar. Sí, esto es más trabajo que las herramientas de SQL Server, pero todavía es bastante fácil de hacer.

Y no es algo que tienes que hacerlo bien en el primer intento, ni tampoco tiene que hacerlo varias veces.

Si MySQL es su motor de base de datos preferido para su aplicación, entonces continúe con esto. Usar SQL Server por completo debido a las herramientas de creación más elaboradas es realmente un caso de la cola moviendo al perro.

+0

Acabo de probar una exportación ODBC a PostGreSQL. Mi campo de clave principal autonumber se convirtió en un entero PostGres en lugar de serial, y no tenía la restricción de clave primaria. Los índices en otros campos no fueron transferidos. Aún así, me gusta su sugerencia porque puedo recuperar el DDL, modificarlo según sea necesario, soltar la tabla y volver a crearlo. Es una gran victoria para mí en comparación con empezar de cero en PostGres. Gracias. Tengo curiosidad, ¿hay menos ajustes involucrados cuando exporta a MySQL? – HansUp

+0

Depende de la versión de MySQL. No lo he hecho muy a menudo, en realidad, así que no tengo ningún detalle real. Las herramientas de SQL Server también pueden hacer que los tipos de datos sean erróneos, así que realmente no es un problema, me parece. –

4

Recomendaría migrar a SQL Server en lugar de MySQL. Simplemente puede convertir la base de datos de Access a SQL Server y dejar que maneje el trabajo pesado de los datos. Los formularios de acceso pueden seguir siendo su parte delantera.

por David Fenton continuación en los comentarios: "convertir a SQL Server es una operación de una sola vez y la facilidad de hacer lo que no debe conducir la elección de la parte de atrás." Creo que este es un buen argumento. Recomiendo SQL Server para facilitar el proceso de conversión y las herramientas existentes, pero esta refutación vuelve a traer a MySQL a la escena.

+2

+1: SQL Server Express es gratuito y [2008 R2 admite bases de datos de más de 10 GB] (http://www.microsoft.com).com/express/database /) –

+0

¿Por qué dices sql server en lugar de mysql –

+0

? Porque puedes convertir fácilmente el acceso a SQL Server. De esa forma, SQL Server maneja todas las tareas de datos; El acceso se convierte en una mera interfaz de usuario. – duffymo

0

Si migra a SQL Server en lugar de MySQL, se podría desarrollar su front-end en C# y utilizar para ello la capacidades integradas de LINQ para acceder a sus datos. Mucho más fácil y gratificante que el acceso front-end con Visual Basic para aplicaciones ;-)

+1

C# es mucho más fácil que Access? Por favor explique con mucho más detalle. –

+1

Si no conoce ninguno de los dos idiomas, le recomiendo que aprenda C# sobre VB para aplicaciones. No se confunda, VB para aplicaciones son (muy) diferentes de VB.NET. No es una cuestión de "mucho más fácil", pero C# es más potente y fuerte que VB para aplicaciones, y sí, IMO C# es más fácil de aprender y usar que VB para aplicaciones. – Lester

3

Reescribir la interfaz hará que este proyecto sea más complicado, no más simple. Primero migre el servidor y luego evalúe si es necesario volver a escribir la interfaz de usuario. Es posible que necesite hacer algunos cambios de código para adaptar el acceso a la nueva fuente de datos de fondo, pero esto requerirá mucho menos esfuerzo que una reescritura completa.

Cuestiones relacionadas