Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MS SQL Server (https://www.clubdelphi.com/foros/forumdisplay.php?f=23)
-   -   Link Databases SQLserver2005/2008 (https://www.clubdelphi.com/foros/showthread.php?t=77236)

ASAPLTDA 05-01-2012 20:20:35

Link Databases SQLserver2005/2008
 
Buenas Tardes Foristas Fleiz Ano nuevo 2012
No tengo experienciia con sqlserver, pero tengo el siguiente requerimiento:
Se requiere unificar 3 bases de Datos SQLSERVER2005 , 2 bases de datos estan en el equipo X y la la tercero en el equipo Y.
la idea es hacer algo parecido a esto:
select * from equipo1.basededatos1.clientes
union
select * from equipo1.basededatos2.clientes
union
select * from equipo2.basededatos3.clientes
la herramienta con que se cuenta es slq2005 express o sqlserver2008 express
Podrian indicarme la manera correcta de hacer esto? Actualizamente lo hice definiendo una coneccion ADO, que le la tabla, la graba en una tabla temporal. cierra la coneccion ado, set la nueva conexion y lee el segundo archivo y asi.

Gracias por su comentarios:
Nota en oracle existe el concepto de link databases no se si en slqserver se puede hacer

Casimiro Noteví 05-01-2012 20:36:59

Recuerda encerrar el código entre etiquetas apropiadas, ejemplo:




Saludos ;)
.

olbeup 06-01-2012 00:55:29

Hola ASAPLTDA,

En Oracle no tengo ni idea, pero en SQL SERVER se llama vincular base de datos y para realizar la vinculación hay dos SP que se tiene que ejecutar sólo una vez:

Primer SP, Vinculación:
Código SQL [-]
sp_addlinkedserver
  @server      = 'srv200x' --> Es el nombre del servidor vinculado que se va a crear.
  ,@srvproduct = ''
  ,@provider   = 'SQLNCLI' --> SQLNCLI es el proveedor OLE DB de SQL Native Client.
  ,@datasrc    = 'IP DEL SERVIDOR\SQLEXPRESS'
Segundo SP, Permisos:
Código SQL [-]
sp_addlinkedsrvlogin
  @rmtsrvname  = 'srv200x'
  ,@useself    = 'TRUE'
  ,@locallogin = 'sa'
Consulta SQL:
Código SQL [-]
SELECT * FROM BaseDeDatos1.dbo.Clientes
UNION
SELECT * FROM BaseDeDatos2.dbo.Clientes
UNION
SELECT * FROM srv200x.BaseDeDatos1.dbo.Clientes
Esto es lo que buscas.

Un saludo.


La franja horaria es GMT +2. Ahora son las 22:25:27.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi