una - mysql importar base de datos access




Cómo exportar datos de SQL Server 2005 a MySQL (4)

He estado golpeándome la cabeza contra SQL Server 2005 tratando de sacar muchos datos. Me dieron una base de datos con casi 300 tablas y necesito convertir esto en una base de datos MySQL. Mi primera llamada fue usar bcp, pero desafortunadamente no produce CSV válido: las cadenas no están encapsuladas, por lo que no puede manejar ninguna fila que tenga una cadena con una coma (o lo que use como delimitador) y todavía tendría que escribir a mano todas las declaraciones de creación de tabla, ya que obviamente CSV no le dice nada sobre los tipos de datos.

Lo mejor sería si hubiera alguna herramienta que pudiera conectarse tanto a SQL Server como a MySQL, y luego hacer una copia. Pierde vistas, procedimientos almacenados, disparadores, etc., pero no es difícil copiar una tabla que solo usa tipos base de una base de datos a otra ... ¿verdad?

¿Alguien sabe de tal herramienta? No me importa cuántas suposiciones haga o qué simplificaciones ocurran, siempre y cuando sea compatible con enteros, flotantes, fecha y hora y cadenas. Tengo que hacer muchas podas, normalizaciones, etc. de todos modos, así que no me importa mantener las claves, las relaciones ni nada de eso, ¡pero necesito el conjunto inicial de datos rápidamente!


Implementar su propia solución PHP ciertamente funcionará, aunque no estoy seguro de si hay una buena manera de duplicar automáticamente el esquema de una base de datos a la otra (tal vez esta fue su pregunta).

Si solo está copiando datos, y / o necesita un código personalizado de todos modos para convertir entre esquemas modificados entre los dos DB, recomendaría usar PHP 5.2+ y las bibliotecas PDO. Podrá conectarse usando PDO ODBC (y usar controladores MSSQL). Tuve muchos problemas para obtener campos de texto grandes y caracteres de varios bytes de MSSQL a PHP usando otras bibliotecas.



Otra herramienta para probar sería la suite SQLMaestro: http://www.sqlmaestro.com. Es un poco complicado definir la herramienta precisa, pero tienen una variedad de herramientas, tanto gratuitas como de compra que manejan una amplia variedad de tareas. para múltiples plataformas de bases de datos. Sugeriría probar primero la herramienta del Asistente de datos para MySQL, ya que creo que tendrá la herramienta de "importación" adecuada que necesita.


Usando MSSQL Management Studio, hice la transición de tablas con MySQL OLE DB. Haga clic derecho en su base de datos y vaya a "Tareas-> Exportar datos" desde allí, puede especificar una fuente MsSQL OLE DB, la fuente MySQL OLE DB y crear las asignaciones de columnas entre las dos fuentes de datos.

Lo más probable es que desee configurar la base de datos y las tablas de antemano en el destino MySQL (la exportación querrá crear las tablas automáticamente, pero esto a menudo resulta en un error). Puede crear rápidamente las tablas en MySQL usando "Tareas-> Generar secuencias de comandos" haciendo clic derecho en la base de datos. Una vez que se generan sus scripts de creación, deberá pasar y buscar / reemplazar las palabras clave y los tipos que existen en MSSQL a MYSQL.

Por supuesto, también podría hacer una copia de seguridad de la base de datos como de costumbre y encontrar una utilidad que restablezca la copia de seguridad MSSQL en MYSQL. Sin embargo, no estoy seguro de si existe.





bcp