none
¿Como consultar tablas en diferentes DB alojadas en el mismo servidor SqlServer 2005? RRS feed

  • Pregunta

  • Hola ...

    Nesecito crear consultas en tablas  de diferentes bases de datos pero alojadas en la misma instancia SQLServer del servidor.

    Normal mente escribia algo asi

     SELECT * FROM 563_DescentrelizadorPrestamos..Prestamos

    pero me devuelve este error ...como lo puedo solucionar

    Incorrect syntax near '563'


    EFRAIN MEJIAS C VALENCIA - VENEZUELA

    martes, 18 de febrero de 2020 15:34

Respuestas

Todas las respuestas

  • Hola Efrain Mejias Castillo:

    Utiliza el nombre entre delimitadores [ o "

    SELECT * FROM [563_DescentrelizadorPrestamos].dbo.Prestamos

    https://docs.microsoft.com/es-es/sql/relational-databases/databases/database-identifiers?view=sql-server-ver15

    martes, 18 de febrero de 2020 16:17
  • El error que te sale no tiene nada que ver con el hecho de que estés accediendo a otra base de datos. El problema es que estás usando un identificador que comienza con un número. Te ocurriría el mismo error si el identificador en cuestión fuera el nombre del esquema, o el de la tabla. En este caso particular resulta que lo que empieza por un número es la base de datos, pero te saldría el mismo error si comenzase por número el esquema o la tabla.

    La solución consiste en hacer lo mismo que harías si el identificador contuviese cualquier carácter "especial", tal como por ejemplo un guión o un espacio en blanco: hay que encerrarlo entre corchetes. Que es precisamente lo mismo que ya te han dicho en una respuesta anterior, solo que en esa respuesta no te han explicado "por qué" o "en qué casos" es necesario hacer esto.

    Más ejemplos:

    Select * from miBase.[123MiEsquema].Mitabla

    Select * from miBase.MiEsquema.[2aTabla]

    Select [Mi Columna], [Campo-A], OtraCosa from [Tabla de clientes]

    martes, 18 de febrero de 2020 16:41