none
PASAR DATOS DE UNA BASE DE DATOS A OTRA RRS feed

  • Pregunta

  • Buenas dias  Comunidad tengo la siguiente inquietuda , quisiera saber como trasladar datos de una base de datos a otra con entity framework ??+ç

    Muchas Gracias 

     

    Exitos!


    oscar ivan sierra jaramillo
    sábado, 9 de abril de 2011 17:01

Respuestas

  • 1. Puede crear una conecion con una base de datos especifica estableciedo la cadena de conecion a dicha base de daros, extraer los valores que requiera almacenandola en algun repositorio y luego cerrar esta conecion 

    Abril la conecion a la segunda base de datos para hacer la insercion de lugar y por ultimo cerrar la coneciones.

    Puede incluir el codigo dentro de un bloque Using() el cual te garantiza la liberacion de la conexion cuando esta realize su cometido

    2. utilizar las clases del espacio de nombre Microsoft.SqlServer.Management.Smo,

    El espacio de nombres Microsoft.SqlServer.Management.Smo contiene clases que representan el núcleo de SQL Server Database Engine (Motor de base de datos de SQL Server) objetos. Estos incluyen instancias, bases de datos, tablas, procedimientos almacenados y vistas.

    El espacio de nombres Microsoft.SqlServer.Management.Smo contiene las clases de objeto de instancia que representan SQL Server Database Engine (Motor de base de datos de SQL Server) objetos y algunas clases de utilidad que representan tareas específicas, como secuencias de comandos.
     
     Cuando una conexión con la instancia de SQL Server Database Engine (Motor de base de datos de SQL Server) se ha establecido mediante el uso de una variable de objeto de servidor, pueden accederse a objetos en la instancia mediante el uso de los objetos de instancia SMO.
     
     Por ejemplo, puede utilizar el objeto de base de datos a bases de datos de acceso en la instancia conectada de SQL Server Database Engine (Motor de base de datos de SQL Server).
     
     Todas las clases de instancia están relacionados con la clase de servidor en la jerarquía de objetos. Utilidad de clases existen fuera de la jerarquía de objetos de clase de servidor y representan tareas específicas, como la copia de seguridad o secuencias de comandos.
    La mayor parte del espacio de nombres Microsoft.SqlServer.Management.Smo clases reside en los archivos Microsoft.SqlServer.Smo.dll y Microsoft.SqlServer.SmoExtended.dll.
    Además, algunas de las clases de enumeración están en los archivos de ensamblado Microsoft.SqlServer.SqlEnum.dll y Microsoft.SqlServer.SmoEnum.dll.
    Tendrá que importar los cuatro archivos para tener acceso a todas las clases del espacio de nombres Microsoft.SqlServer.Management.Smo.

    Angel R. Jimenez G.
    Software Development
    Santo Domingo
    Republica Dominicana
    sábado, 9 de abril de 2011 18:42
  • hola

    se contento en el foro de ado.net

    http://social.msdn.microsoft.com/Forums/es/netfxes/thread/4fe4e28c-4419-4844-b594-4522663acf11


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    sábado, 9 de abril de 2011 21:27

Todas las respuestas

  • 1. Puede crear una conecion con una base de datos especifica estableciedo la cadena de conecion a dicha base de daros, extraer los valores que requiera almacenandola en algun repositorio y luego cerrar esta conecion 

    Abril la conecion a la segunda base de datos para hacer la insercion de lugar y por ultimo cerrar la coneciones.

    Puede incluir el codigo dentro de un bloque Using() el cual te garantiza la liberacion de la conexion cuando esta realize su cometido

    2. utilizar las clases del espacio de nombre Microsoft.SqlServer.Management.Smo,

    El espacio de nombres Microsoft.SqlServer.Management.Smo contiene clases que representan el núcleo de SQL Server Database Engine (Motor de base de datos de SQL Server) objetos. Estos incluyen instancias, bases de datos, tablas, procedimientos almacenados y vistas.

    El espacio de nombres Microsoft.SqlServer.Management.Smo contiene las clases de objeto de instancia que representan SQL Server Database Engine (Motor de base de datos de SQL Server) objetos y algunas clases de utilidad que representan tareas específicas, como secuencias de comandos.
     
     Cuando una conexión con la instancia de SQL Server Database Engine (Motor de base de datos de SQL Server) se ha establecido mediante el uso de una variable de objeto de servidor, pueden accederse a objetos en la instancia mediante el uso de los objetos de instancia SMO.
     
     Por ejemplo, puede utilizar el objeto de base de datos a bases de datos de acceso en la instancia conectada de SQL Server Database Engine (Motor de base de datos de SQL Server).
     
     Todas las clases de instancia están relacionados con la clase de servidor en la jerarquía de objetos. Utilidad de clases existen fuera de la jerarquía de objetos de clase de servidor y representan tareas específicas, como la copia de seguridad o secuencias de comandos.
    La mayor parte del espacio de nombres Microsoft.SqlServer.Management.Smo clases reside en los archivos Microsoft.SqlServer.Smo.dll y Microsoft.SqlServer.SmoExtended.dll.
    Además, algunas de las clases de enumeración están en los archivos de ensamblado Microsoft.SqlServer.SqlEnum.dll y Microsoft.SqlServer.SmoEnum.dll.
    Tendrá que importar los cuatro archivos para tener acceso a todas las clases del espacio de nombres Microsoft.SqlServer.Management.Smo.

    Angel R. Jimenez G.
    Software Development
    Santo Domingo
    Republica Dominicana
    sábado, 9 de abril de 2011 18:42
  • hola

    se contento en el foro de ado.net

    http://social.msdn.microsoft.com/Forums/es/netfxes/thread/4fe4e28c-4419-4844-b594-4522663acf11


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    sábado, 9 de abril de 2011 21:27
  • Hola Óscar,

    Entity Framework no es la mejor opción para migrar bases de datos, pero si el proceso de migración es complejo e incorpora mucha lógica de negocio, o sólo si te sientes cómodo con EF, puedes desarrollarlo con facilidad.

    Basta con implementar un sencillo proceso que abra las dos conexiones y lea entidades de una mientras las inserta en la otra, realizando las transformaciones oportunas. No es recomendable esperar al final para hacer el SaveChanges, de hecho es conveniente hacerlo cada cierto tiempo (pongamos cada 50 entidades) y crear una nueva conexión para continuar. Así eliminas de la memoria las entidades ya guardadas.

    Se puede optimizar lanzando en segundo plano estos SaveChanges, pero a pesar de esto, como dije al principio, esta no es la opción más eficiente para una migración.

     

    Pablo Núñez, @pablonete

    domingo, 10 de abril de 2011 21:34
  • Yo he hecho importaciones y migraciones usando EF 4.0 y 4.1, y aunque haya soluciones más eficiente como ya dije, especialmente SSIS, el uso de EF no es una opción a descartar y puede aportar ventajas en diversos escenarios.

    Entiendo que ese era el espíritu de la pregunta, usar EF, aunque como Oscar Iván parece haberse desentendido del asunto, no puedo tener seguridad. Lo que sí puedo decir es que las respuestas marcadas no van en esa línea, y no creo que sean de ayuda a visitantes futuros de este hilo.

    Que os aproveche.

    Pablo Núñez.


    Pablo Núñez, @pablonete
    domingo, 5 de junio de 2011 15:14