none
Actualizar registros desde Mysql a SQL Server RRS feed

  • Pregunta

  • Hola chicos muy buen día. Voy a iniciar una aplicación que debe actualizar un registro de una base de datos SQL Sever tomando el campo a actualizar de una tabla en MYSQL. El campo en ambas tablas es único pero no he encontrado en internet un Query que me actualice de Mysql a Sql Server. He visto un ejemplo que recomiendan en este foro pero es a traves del ODBC directamente en SQL Managemen. Ojalá puedan apoyarme chicos en como proceder para investigar más a profundizar. Gracias por el apoyo. Saluos cordiales

    martes, 5 de febrero de 2019 15:42

Respuestas

  • hola

    >>cuando hago consultas en Sql server voy recorriendo todo el resultado y mediante un ciclo while y puedo ir haciendo la actualización en cada iteración

    en realidad eso es lo que sugeria

    >>pero quiero saber si existe algúna otra forma de hacerlo más rápido sin que me consuma mucho recurso, ya que las bases de datos tienen más de 70,000 registros.

    son muchos registros, y el tiempo depende de que operaciones o validaciones realizas

    quizas podrias leer de mysql, armar un datatable y enviarlo a un procedure usando el Table Value parameter

    Table-Valued Parameters

    asi pasas todo de una y puedes usar el SELECT INTO o el MERGE

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta Elenita90 martes, 5 de febrero de 2019 20:27
    martes, 5 de febrero de 2019 17:31

Todas las respuestas

  • hola

    No evaluaste conectarte usando codigo a cada db para realizar las operaciones?

    puedes usar SqlConnection para trabajar con Sql Server y MySqlConnection para MySql, no uses odbc si puedes evitarlo, usa el provider de cada db necesita

    para mysql usarias

    MySql.Data

    Sino la otra seria vincular los servidores

    Create a linked server to MySQL from SQL Server

    creo que alli es donde te indican que uses odbc, pero si lo haces desde codigo conectandote individualmente a cada db y realizando la operaciones en una u otra, en ese caso usas el provider concreto de cada db

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 5 de febrero de 2019 16:22
  • Hola Leandro gracias por contestar. De hecho ya he trabajao con SqlConnection supongo es algo similar con Mysql.Data; lo que no me ha quedado claro es como enviar de toda la tabla los registros de Mysql a Sql server. Por ejmplo, cuando hago consultas en Sql server voy recorriendo todo el resultado y mediante un ciclo while y puedo ir haciendo la actualización en cada iteración, pero quiero saber si existe algúna otra forma de hacerlo más rápido sin que me consuma mucho recurso, ya que las bases de datos tienen más de 70,000 registros. Gracias y saludos
    martes, 5 de febrero de 2019 17:07
  • hola

    >>cuando hago consultas en Sql server voy recorriendo todo el resultado y mediante un ciclo while y puedo ir haciendo la actualización en cada iteración

    en realidad eso es lo que sugeria

    >>pero quiero saber si existe algúna otra forma de hacerlo más rápido sin que me consuma mucho recurso, ya que las bases de datos tienen más de 70,000 registros.

    son muchos registros, y el tiempo depende de que operaciones o validaciones realizas

    quizas podrias leer de mysql, armar un datatable y enviarlo a un procedure usando el Table Value parameter

    Table-Valued Parameters

    asi pasas todo de una y puedes usar el SELECT INTO o el MERGE

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta Elenita90 martes, 5 de febrero de 2019 20:27
    martes, 5 de febrero de 2019 17:31
  • Gracas Leandro. Investigaré m´pas a detalle lo que me sugieres. Gracias de nueva cuenta

    Saludos cordiales

    martes, 5 de febrero de 2019 20:27