none
COMO RELACIONAR DOS BASE DE DATOS RRS feed

  • Pregunta

  • Mi problemas es el siguiente tengo dos base de datos pero tengo que relacionarlas para sacar y guardar informaron una de la otra,

    intentaba hacerlo con llaves foráneas pero al parecer no se puede hacer con base de datos externas. me podrían auxiliar.

    miércoles, 17 de agosto de 2016 18:02

Respuestas

  • Jorge Luis zamora medrano,

    ¿Ambas bases de datos se encuentran en el mismo servidor?

    De ser así no veo el problema, si tienes una columna en común en ambas tablas  entonces no veo el problema, solamente debes cuidar de nombrar al objeto incluyendo la base de datos y el esquema:

    INSERT INTO dbA.dbo.TablaA (Campo1, Canmpo2)
    SELECT
            db2.Campo1,
            db2.Campo2,
            'some constant'
    FROM
            dbB.dbo.TablaB db2

    ¿Ambas bases de datos se encuentran en servidores distintos?

    Entonces debes vincular ambos servidores mediante Linked Servers y debes nombrar al objeto estableciendo las cuatro partes: [ServerName].[DataBaseName].[SchemaName].[Tabla]

    {!}- Si tengo un campo en especifico que es el que me gustaría relacionar solo que he investigado pero al parecer no se podría hacer.

    ¿Qué has investigado? Si esperas propuestas o soluciones inmediatas debes ofrecer el detalle necesario para entender y resolver a la brevedad.


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    jueves, 18 de agosto de 2016 3:37

Todas las respuestas

  • Saludos

    A que te refieres que no se puede? si hablas de crear el constrains no, pero sino tienes un campo en comun con lo cual relacionarlas estas en problemas porque no podras relacionar la información, podrias ser un poco mas especifico.

    miércoles, 17 de agosto de 2016 18:11
  • Si tengo un campo en especifico que es el que me gustaría relacionar solo que he investigado pero al parecer no se podría hacer.

    por decir en la base de datos de hospital tengo una tabla de paciente y tomare ese id y lo tendría que agregar  a la base de datos servicio social en la tabla de registros insertar el id de paciente ne la columna idpaciente de esa base de datos

    miércoles, 17 de agosto de 2016 18:20
  • Jorge Luis zamora medrano,

    ¿Ambas bases de datos se encuentran en el mismo servidor?

    De ser así no veo el problema, si tienes una columna en común en ambas tablas  entonces no veo el problema, solamente debes cuidar de nombrar al objeto incluyendo la base de datos y el esquema:

    INSERT INTO dbA.dbo.TablaA (Campo1, Canmpo2)
    SELECT
            db2.Campo1,
            db2.Campo2,
            'some constant'
    FROM
            dbB.dbo.TablaB db2

    ¿Ambas bases de datos se encuentran en servidores distintos?

    Entonces debes vincular ambos servidores mediante Linked Servers y debes nombrar al objeto estableciendo las cuatro partes: [ServerName].[DataBaseName].[SchemaName].[Tabla]

    {!}- Si tengo un campo en especifico que es el que me gustaría relacionar solo que he investigado pero al parecer no se podría hacer.

    ¿Qué has investigado? Si esperas propuestas o soluciones inmediatas debes ofrecer el detalle necesario para entender y resolver a la brevedad.


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    jueves, 18 de agosto de 2016 3:37
  • Ya que no lo especificas asumo que te refieres a dos bases de datos dentro de la misma instancia, partiendo de ese punto te recomiendo cambiar la forma en que nombras ciertas operaciones en BBDD puesto que tiende a confundir, lo primero es que cuando dices : "tengo que relacionarlas", en el mundo de BBDD ese termino se refiere efectivamente a la creación de llaves foranes que a su vez establece una restricción entre las tablas y columnas especificadas, ahora, lo que dices despues:  "para sacar y guardar informaron una de la otra", eso es basicamente un proceso que vas a desarrollar en tu BD y que no tiene porque ir vinculado a una FK, de hecho asumo que lo que puedes hacer es dentro del proceso que inserta o guarda en la tabla A puedes  perfectamente recuperar ese valor e insertarlo en tu tabla destino, esto lo puedes hacer con la nomenclatura en 3 partes, es decir: NombreBD.Esquema(por default dbo).NombreTuTabla.

    Igual si posteas estructuras de datos y demas detalles podremos apoyarte con mas certeza.

    Saludos.


    "Oh, the wind, the wind is blowing,through the graves the wind is blowing,Freedom soon will come; then well come from the shadows".The Partisan(Leonard Cohen) Email: me[at]geohernandez.net Blog:www.geohernandez.net

    jueves, 18 de agosto de 2016 10:09