none
Como obtener informacion de varias bases de datos? RRS feed

  • Pregunta

  • Buen dia 

    Tengo que hacer un reporte de un sistema que manejamos el cual las bases de datos estan en sql server.

    hay una base de datos principal podria decirse, de la cual quiero sacar varios campos de una tabla por ejemplo dato1. dato2 y dato3

    En las otras bases de datos  que son alrededor de 50 la estructura es identica solo cambia la informacion en cada una de ellas pero de los datos que quiero sacar estan en una tabla por ejemplo la tabla se llama parametros, y de esa tabla quiero sacar dato1, dato2, dato3.

    de la principal tengo la una lista de las otras 50 bases de datos de la cual tengo quiero compar con las otras bases de datos y mientras sea igual sacar los 3 datos que ocupo y ponerlos en una tabla temporal o pasarlos a una tabla normal

    asi tendria el reporte 

    dato1.dato2.dato3 dato1,dato2,dato3 de todas las bases de datos espero puedan ayudarme soy nuevo en lo que es sql server no tengo nada de expericencia y poco a poco ire a prendiendo

    Gracias 

    martes, 13 de junio de 2017 19:58

Todas las respuestas

  • Si tu base de datos se encuentra en el mismo servidor, solo bastará con anteponer el nombre de la base antes de la tabla. En el caso de que no se encuentren dentro del mismo servidor, deberás crear un linkserver.

    Base de datos dentro del mismo servidor:

    Select	B1.dato1, B1.dato2, B2.dato1
    From	Base1.Tabla B1 inner join Base2.Tabla B2 on B1.campo = B2.campo

    Si es con LinkServer, anteponer el nombre del mismo, más el esquema (en el ejemplo suponemos que tu Base2 es la que viene de otro servidor.

    Select	B1.dato1, B1.dato2, B2.dato1
    From	Tabla.Dato B1 inner join [LinkServer].[Base2].Esquema.Tabla B2 on B1.campo = B2.campo
    Saludos



    Si ayudé a resolver tu consulta, no olvides marcar como respuesta y/o votar como útil.

    martes, 13 de junio de 2017 20:17
  • no sabes como podria hacerlo de manera ciclica ya que en la tabla de la base de datos principal viene la lista de de las bases de datos. por ejemplo

    Base de datos principal

    Dato1         Dato2        Dato3

    empresa1    jose          jose

    empresa2    jose2        jose2

    empresa3    jose3        jose3

    Otra base de datos

    Dato1              Dato2   Dato3 

    Empresa1        qazw     wzaq

    Empresa2        qazw     wzaq

    Empresa3        qazw     wzaq

    y mi reporte final seria algo asi

    Empresa1   jose    jose     qazw   wzaq

    Empresa2   jose2  jose2   qazw   wzaq

    Empresa3   jose3  jose3   qazw   wzaq

    donde los datos 2 y 3 tengo que sacarlos de todas las empresas donde empresa 1 seria con el cual aria la comparacion para verificar que sea la base de datos correcta

    por eso seria muy util hacerlo de manera ciclica

    espero me puedas ayudar para el nivel que tengo en SQL no tengo idea de como hacerlo

    martes, 13 de junio de 2017 23:56