una migrar importar exportar datos como mysql sql-server csv sql-server-2005 bcp

migrar - Cómo exportar datos de SQL Server 2005 a MySQL



migrar base de datos mysql a sql server (5)

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.

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!



Las ediciones "Standard", "Developer" y "Enterprise" de SQL Server 2005 tienen SSIS , que reemplazó a DTS de Sql server 2000. SSIS tiene una conexión incorporada a su propia base de datos, y puede encontrar una conexión que alguien más ha escrito para MySQL . Here hay un ejemplo. Una vez que tenga sus conexiones, debería poder crear un paquete SSIS que mueva los datos entre los dos.

No he tenido que mover datos de SQlServer a MySQL, pero imagino que una vez que se instala la conexión MySQl, funciona igual que mover datos entre dos bases de datos SQLServer, lo cual es bastante sencillo.


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.