Aquí podría ser tu PUBLICIDAD


Cómo exportar datos de SQL Server 2005 a MySQL

votos
80

He estado golpeando mi cabeza contra SQL Server 2005intentar 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 utilizar bcp, pero desafortunadamente no produce CSV válidos: las cadenas no están encapsuladas, por lo que no puedes tratar con ninguna fila que tenga una cadena con una coma (o lo que sea que uses como delimitador) y aún tendría que escribir a mano todos los enunciados de la tabla de creación, ya que obviamente CSV no dice nada sobre los tipos de datos.

Lo que sería mejor es si había alguna herramienta que pudiera conectarse tanto a SQL Server como a MySQL, y luego hacer una copia. Se pierden vistas, procedimientos almacenados, desencadenantes, etc., pero no es difícil copiar una tabla que solo utiliza tipos base de una base de datos a otra ... ¿o sí?

¿Alguien sabe de una herramienta así? No me importa cuántas suposiciones o simplificaciones se produzcan, siempre que admitan enteros, flotantes, fechas y cadenas. De todos modos, tengo que podar mucho, normalizar, etc., así que no me importa guardar llaves, relaciones ni nada por el estilo, ¡pero necesito el conjunto inicial de datos rápidamente!

Publicado el 01/08/2008 a las 17:22
fuente por usuario Mat
En otros idiomas...        العربية       

5 respuestas

votos
58

La mejor manera que he encontrado es el Kit de herramientas de migración MySQL proporcionado por MySQL. Lo he usado con éxito para algunos grandes proyectos de migración.

Respondida el 01/08/2008 a las 06:54
fuente por usuario Nick Berardi


Aquí podría ser tu PUBLICIDAD


votos
8

Usando MSSQL Management Studio, he transitado las tablas con MySQL OLE DB. Haga clic derecho en su base de datos y vaya a "Tareas-> Exportar datos", desde allí puede especificar un origen MsSQL OLE DB, el origen OLE DB de MySQL 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 con anticipación en el destino MySQL (la exportación querrá crear las tablas automáticamente, pero esto a menudo da como resultado un error). Puede crear rápidamente las tablas en MySQL usando las "Tareas-> Generar Scripts" haciendo clic derecho en la base de datos. Una vez que se generen los scripts de creación, deberá pasar y buscar / reemplazar palabras clave y tipos que existen en MSSQL a MYSQL.

Por supuesto, también podría hacer una copia de seguridad de la base de datos como es normal y encontrar una utilidad que restaurará la copia de seguridad de MSSQL en MYSQL. No estoy seguro si existe uno sin embargo.

Respondida el 15/09/2008 a las 05:23
fuente por usuario trevorlinton

votos
8

Las ediciones "Estándar", "Desarrollador" y "Enterprise" de SQL Server 2005 tienen SSIS , que reemplazó a DTS del servidor Sql 2000. SSIS está integrado en su propia base de datos, y puede encontrar una conexión que alguien más ha escrito para MySQL . Aquí 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 SQLServer DBs, lo cual es bastante sencillo.

Respondida el 15/09/2008 a las 05:11
fuente por usuario Sean

votos
7

Rodar su propia solución PHP sin duda 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 era su pregunta).

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

Respondida el 01/08/2008 a las 05:36
fuente por usuario pix0r

votos
5

Otra herramienta para probar sería la suite SQLMaestro - http://www.sqlmaestro.com Es un poco difícil 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 la herramienta Asistente de datos primero para MySQL, ya que creo que tendrá la herramienta de "importación" adecuada que necesita.

Respondida el 01/08/2008 a las 05:47
fuente por usuario Dillie-O