Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MS SQL Server
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-01-2008
lgarcia lgarcia is offline
Miembro
 
Registrado: jul 2004
Posts: 479
Poder: 20
lgarcia Va por buen camino
Consulta da varios servidores

Hola listeros:

Tengo una duda acerca de como realizar una consulta que comprometa a varios servidores. Por ejemplo hice esto

Código:
CREATE PROCEDURE DatosDepositos 
 @tienda int,
 @fecha1 datetime,
 @fecha2 datetime
AS
SELECT Sala.dbo.Bolsos.numero, CONVERT(VARCHAR(10), Depositos.fecha, 103) as fechadeposito,  
               CONVERT(VARCHAR(10), Sala.dbo.Bolsos.fecha_conteo, 103) as fechaconteo, 
              Tienda.dbo.Depositos.importe as declarado, Sala.dbo.Detalles.gravamen as contado
FROM Sala.dbo.Bolsos INNER JOIN
           Sala.dbo.Bolso_Detalles ON Sala.dbo.Bolsos.id = Sala.dbo.Bolso_Detalles.idbolso INNER JOIN
           Sala.dbo.Detalles ON Sala.dbo.Bolso_Detalles.iddetalles = Sala.dbo.Detalles.id INNER JOIN
          Tienda.dbo.Depositos ON Sala.dbo.Bolsos.numero = Tienda.dbo.Depositos.numero
WHERE tienda = @tienda and Tienda.dbo.Depositos.fecha between @fecha1 and @fecha2
ORDER BY Depositos.fecha ASC
GO
Donde Tienda esta en un servidor y Sala esta en otro servidor

Probe a poner le el nombre del servidor delante Ej Servidor1.Sala.dbo.Detalles.id
y me da el error de que Servidor1.Sala.dbo.Detalles contiene mas que el numero maximo de prefijos (3)

Trabajo con MSSQL Server2000.

Espero haberme explicado bien.

Saludos

Luis Garcia
Responder Con Cita
  #2  
Antiguo 25-01-2008
Avatar de poliburro
[poliburro] poliburro is offline
Miembro Premium
 
Registrado: ago 2004
Ubicación: México D.F
Posts: 3.068
Poder: 23
poliburro Va por buen camino
Es super sencillo, solo tienes que linkear los servidores en el servidor donde estarás generando los procedimientos.

en
administrador corporativo /
Sql Server Group /
Servidor /
Seguridad /
Servidores Vinculados
__________________
Conoce mi blog http://www.edgartec.com
Responder Con Cita
  #3  
Antiguo 25-01-2008
lgarcia lgarcia is offline
Miembro
 
Registrado: jul 2004
Posts: 479
Poder: 20
lgarcia Va por buen camino
Consulta de varios servidores

Muchas gracias poliburro por la respuesta, ya llegue ahi y pude linkear ese servidor, pero como hago ahora para referenciar ese servidor en el SP, o sea

Código:
FROM Sala.dbo.Bolsos INNER JOIN
           Sala.dbo.Bolso_Detalles ON Sala.dbo.Bolsos.id = Sala.dbo.Bolso_Detalles.idbolso INNER JOIN
           Sala.dbo.Detalles ON Sala.dbo.Bolso_Detalles.iddetalles = Sala.dbo.Detalles.id INNER JOIN
          Tienda.dbo.Depositos ON Sala.dbo.Bolsos.numero = Tienda.dbo.Depositos.numero
WHERE tienda = @tienda and Tienda.dbo.Depositos.fecha between @fecha1 and @fecha2
Dado que Sala sea el del servidor donde estoy generando el SP, como referencio el Servidor Linkeado para Tienda.

Muchas gracias

Saludos

Luis Garcia
Responder Con Cita
  #4  
Antiguo 26-01-2008
Avatar de poliburro
[poliburro] poliburro is offline
Miembro Premium
 
Registrado: ago 2004
Ubicación: México D.F
Posts: 3.068
Poder: 23
poliburro Va por buen camino
es super sencillo

Select *
From Servidor.BaseDeDatos.Propietario.Tabla


Así:

Select *
From Tienda.BaseDeDatos.Dbo.Depositos
__________________
Conoce mi blog http://www.edgartec.com
Responder Con Cita
  #5  
Antiguo 28-01-2008
lgarcia lgarcia is offline
Miembro
 
Registrado: jul 2004
Posts: 479
Poder: 20
lgarcia Va por buen camino
Consulta de varios servidores

Hola:

Poliburro muchas gracias por las respuestas pero me sigue dando el error
Servidor1.Sala.dbo.Detalles contiene mas que el numero maximo de prefijos (3)

que estoy haciendo mal pues segun tu referencia anterior
Código:
Select *
From Servidor.BaseDeDatos.Propietario.Tabla
debia bastar

Saludos

Luis Garcia
Responder Con Cita
  #6  
Antiguo 28-01-2008
luisgutierrezb luisgutierrezb is offline
Miembro
 
Registrado: oct 2005
Ubicación: México
Posts: 925
Poder: 19
luisgutierrezb Va por buen camino
si mal no recuerdo ese error te lo da para cuando haces referencia a los campos yo te rcomiendo que uses alias, para que sea algo asi:

Código SQL [-]
Select TablaAlias.campo 
from Servidor.BaseDeDatos.Propietario.Tabla as TablaAlias
Responder Con Cita
  #7  
Antiguo 28-01-2008
Avatar de poliburro
[poliburro] poliburro is offline
Miembro Premium
 
Registrado: ago 2004
Ubicación: México D.F
Posts: 3.068
Poder: 23
poliburro Va por buen camino
Cita:
Empezado por lgarcia Ver Mensaje
Hola:

Poliburro muchas gracias por las respuestas pero me sigue dando el error
Servidor1.Sala.dbo.Detalles contiene mas que el numero maximo de prefijos (3)

que estoy haciendo mal pues segun tu referencia anterior
Código:
Select *
From Servidor.BaseDeDatos.Propietario.Tabla
debia bastar

Saludos

Luis Garcia

Podrías indicarme como linkeaste el servidor?
__________________
Conoce mi blog http://www.edgartec.com
Responder Con Cita
  #8  
Antiguo 29-01-2008
espericueta espericueta is offline
Miembro
 
Registrado: ene 2008
Posts: 13
Poder: 0
espericueta Va por buen camino
hola que tal tambien puedes consultar por medio de openrowset

select columna1,columna2 from OPENROWSET('SQLOLEDB','nombre_servidor';'usuario';'contraseña','select * from tabla x where .......... --Consulta')
Where ......

en la ayuda de sql server viene informacion sobre openrowset y opendatasource te pueden servir
Responder Con Cita
  #9  
Antiguo 29-01-2008
Avatar de __hector
[__hector] __hector is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Santo Domingo, Rep. Dom.
Posts: 1.075
Poder: 23
__hector Va por buen camino
Creo haber tenido este problema antes, y tuvo que ver con asignar algunos permisos, o configurar algo en el MSDTC (Distributed Transaction Coordinator). Seguro que en google encuentras respuestas al respecto, y lamento no poder darte directamente la respuesta, pues ese problema lo tuve hace varios años ya.
__________________
Héctor Geraldino
Software Engineer
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Sacar el primer resultado de una consulta con varios VRO Firebird e Interbase 5 04-05-2007 16:23:14
Consulta con los valores de varios combos fidel SQL 2 29-01-2007 21:05:43
Consulta a varios servidores AzidRain Conexión con bases de datos 1 13-01-2006 10:52:12
Consulta de 2 servidores lgarcia MS SQL Server 7 19-08-2005 05:43:40


La franja horaria es GMT +2. Ahora son las 10:36:15.


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