none
LLenar gridview con dos querys RRS feed

  • Pregunta

  • Hola, estoy usando asp.net c# y sql 2000.

    Tengo que llenar un gridview con cierta informacion que esta en dos servidores(uno de produccion y otro historico), y no se como hacer , no se si usar dos consultas y unirlas en el gridview o hacer una sola consulta que tenga informacion de los dos servidores.

    Las consultas serian algo asi:

    query serv produccion(tengo que mostrar la informacion desde ahora hasta dos años atras):

    SELECT * FROM TABLA WHERE FECHA BETWEEN getdate()  AND GETDATE() -2AÑOS

    query ser historico (mostrar informacion desde hace dos años hacia atras):

    SELECT * FROM TABLA WHERE FECHA < GETDATE() -2 AÑOS

    no se que sea lo mejor para este caso, alguna sugerencia??

    jueves, 11 de agosto de 2016 15:16

Respuestas

  • hola

    si los datos los obtienes desde dos servidores y la estructura es la misma podrias realizar las consultas por separado y unirlas mediente el Merge() del datatable

    DataTable.Merge (Método)

    de esta forma te conectas a cada db, recuperas los datos, y luego los unes en un solo datatable para asignarlo al grid

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta daniel_316.- jueves, 11 de agosto de 2016 16:35
    jueves, 11 de agosto de 2016 15:48

Todas las respuestas

  • daniel_316.-,

    Puedes implementar la unión de conjuntos con el operador de conjuntos UNION:

    SELECT Campo1, Campo2 FROM Server.db.dbo.MiTabla1 WHERE <>
    UNION ALL
    SELECT Campo1, Campo2 FROM Server.db.dbo.MiTabla2 WHERE <>

    Si escribes consultas en texto (propiedad CommandText) y luego las ejecutas, quizá sea mejor implementar una vista con la estructura anterior para que la consulta  sea simple:

    cmd.CommandText = "SELECT * FROM MiVista";

    Dado que las bases de datos están en servidores distintos debes de usar algún mecanismo de comunicación entre ellas, llámese servidores vinculados: COMO CREAR UN LINK SERVER EN SQL SERVER


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    jueves, 11 de agosto de 2016 15:31
  • hola

    si los datos los obtienes desde dos servidores y la estructura es la misma podrias realizar las consultas por separado y unirlas mediente el Merge() del datatable

    DataTable.Merge (Método)

    de esta forma te conectas a cada db, recuperas los datos, y luego los unes en un solo datatable para asignarlo al grid

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta daniel_316.- jueves, 11 de agosto de 2016 16:35
    jueves, 11 de agosto de 2016 15:48
  • gracias, era lo que necesitaba
    jueves, 11 de agosto de 2016 16:35
  • Muchísimas gracias, me acabas de dar una excelente lección. 

    Gracias ^^

    lunes, 7 de noviembre de 2016 15:56