ForeignKey entre databases

29/10/2009 - 11:08 por L. Garcia | Informe spam
Hola Grupo:

Estoy planteando el escenario que comento, crear una tabla cuya ForeignKey
está en otra Base de Datos. Al intentar crearla, me da error (SqlServer
2005), cosa que ya me esperaba.

¿Para solucionar este problema que soluciones
utilizais/proponeis/recomendais?

1) Usar Triggers (buff, miedo me da)

2) Usar una copia de la tabla.
a) Con 'replicas' (buff, miedo me da)
b) A pelo, teniendo en cuenta que siempre mandará la tabla de la base de
datos matriz.

3) ¿Alguna otra idea?

4) No tener separadas las tablas en diferentes bases de datos :-)
Dificil, porque la tabla 'separada':
a) Proviene de una fuente externa y me interesa tenerla 'aislada'
b) Es utilizada por diferentes procesos/bases de datos independientes
entre sí.

Saludos y gracias por leer esto :-)
 

Leer las respuestas

#1 Carlos Sacristan
29/10/2009 - 11:16 | Informe spam
Si no quieres tener la tabla en la misma base de datos, la única forma
realmente efectiva es por medio de triggers, de los cuales no tienes por qué
tener miedo si están bien programados.

"Caminar sobre el agua y desarrollar software a partir de unas
especificaciones es fácil, si ambas están congeladas."
Edward V. Berard, ingeniero informático


"L. Garcia" wrote in message
news:%
Hola Grupo:

Estoy planteando el escenario que comento, crear una tabla cuya ForeignKey
está en otra Base de Datos. Al intentar crearla, me da error (SqlServer
2005), cosa que ya me esperaba.

¿Para solucionar este problema que soluciones
utilizais/proponeis/recomendais?

1) Usar Triggers (buff, miedo me da)

2) Usar una copia de la tabla.
a) Con 'replicas' (buff, miedo me da)
b) A pelo, teniendo en cuenta que siempre mandará la tabla de la base
de
datos matriz.

3) ¿Alguna otra idea?

4) No tener separadas las tablas en diferentes bases de datos :-)
Dificil, porque la tabla 'separada':
a) Proviene de una fuente externa y me interesa tenerla 'aislada'
b) Es utilizada por diferentes procesos/bases de datos independientes
entre sí.

Saludos y gracias por leer esto :-)

Preguntas similares