59 votos

Cómo exportar datos de SQL Server 2005 a MySQL

He estado golpeando mi cabeza contra SQL Server 2005 tratando de obtener una gran cantidad de datos. Me han dado una base de datos con cerca de 300 mesas en esto y necesito convertir esto en una base de datos MySQL. Mi primera llamada fue el uso de bcp, pero por desgracia no produce válido CSV - las cadenas no están encapsulados, por lo que no se puede tratar con cualquier fila que tiene una cadena con una coma (o lo que sea que uses como un delimitador) y que aún le tiene a la mano de escribir todas las instrucciones create table, como, obviamente, CSV no dice nada acerca de los tipos de datos.

Lo mejor es si hay alguna herramienta que pudiera conectarse a SQL Server y MySQL, y luego hacer una copia. Usted pierde vistas, procedimientos almacenados, disparador, etc, pero no es difícil de copiar una tabla en la que sólo utiliza tipos de base de una DB a otra... es?

¿Alguien sabe de una herramienta de este tipo? No me importa cómo muchos de los supuestos que se hace o lo que simplificaciones producirse, como siempre que admita integer, float, fecha y hora y la cadena. Tengo que hacer un montón de poda, normalización, etc. de todos modos así que no se preocupan por mantener las teclas, las relaciones ni nada de eso, pero necesito el conjunto inicial de datos en rápido!

51voto

Nick Berardi Puntos 31361

La mejor manera que he encontrado es el de MySQL Migration Toolkit proporcionado por MySQL. Lo he utilizado con éxito por algunos de los grandes proyectos de migración.

5voto

Sean Puntos 310

SQL Server 2005 "Estándar", "Programador" y "la Empresa", ediciones han SSIS, que sustituyó a los DTS de Sql server 2000. SSIS ha construido en relación a su propia DB, y usted puede encontrar una conexión que alguien más ha escrito para MySQL. Aquí es un ejemplo. Una vez que usted tiene sus conexiones, usted debería ser capaz de crear un paquete SSIS que mueve los datos entre los dos.

No he tenido que mover los datos de SQlServer, MySQL, pero me imagino que una vez que la conexión de MySQl está instalado, funciona de la misma como la transferencia de datos entre dos SQLServer DBs, que es bastante sencillo.

5voto

pix0r Puntos 17854

Rodar su propio PHP solución sin duda el trabajo aunque no estoy seguro de si no es una buena manera de duplicar automáticamente el esquema de una base de datos para el otro (tal vez este no era tu pregunta).

Si se acaba de copiar los datos, y/o necesita códigos personalizados de todos modos para convertir entre esquemas modificados entre los dos DB, me gustaría recomendar el uso de PHP 5.2+ y la DOP bibliotecas. Usted será capaz de conectarse mediante PDO ODBC (y el uso de MSSQL drivers). Yo tenía un montón de problemas para conseguir grandes campos de texto y los caracteres multi-byte de MSSQL en PHP usando otras bibliotecas.

3voto

Dillie-O Puntos 16780

Otra herramienta para tratar sería el SQLMaestro suite - http://www.sqlmaestro.com es un poco complicado clavar la herramienta de precisión, pero ellos tienen una variedad de herramientas, tanto gratuitas y para la compra de manejar una amplia variedad de tareas para múltiples plataformas de base de datos. Me gustaría sugerirle la de Datos el Asistente para la herramienta de primera para MySQL, ya que creo que va a tener el "importar" de la herramienta que usted necesita.

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X