Foros del Web » Programando para Internet » ASP Clásico »

como mostrar una tabla que resulta de 2 tablas en distinto servidor?

Estas en el tema de como mostrar una tabla que resulta de 2 tablas en distinto servidor? en el foro de ASP Clásico en Foros del Web. Hola a atodos!!!....otra vez dando lata...mi problema es que necesito generar un tabla que me arroje el resultado de un query...pero dicho query esta basado ...
  #1 (permalink)  
Antiguo 30/01/2007, 17:26
 
Fecha de Ingreso: septiembre-2006
Mensajes: 161
Antigüedad: 17 años, 8 meses
Puntos: 0
Pregunta como mostrar una tabla que resulta de 2 tablas en distinto servidor?

Hola a atodos!!!....otra vez dando lata...mi problema es que necesito generar un tabla que me arroje el resultado de un query...pero dicho query esta basado en 2 tablas que se encuentran en diferentes servidores...y entonces mi preguntas es: necesito generar la coneccion con ambos servidores???...y ya con esto es suficiente???...disculpen si mi pregunta es muy básica, pero no sé si asi funcione... ...gracias!!!

Algo así por ejemplo...es correcto??

Código:
 'Conección con la  1ra BD
	sConnStr = "Driver={SQL Server};Server=SERV1;Database=Rssql;UID=sa;Password=sa;"
 Set objConn = Server.CreateObject("ADODB.Connection") 
 objConn.Open sConnStr


 'Conección con la  2da BD
	sConnStr = "Driver={SQL Server};Server=SERV2;Database=Rssql;UID=sa;Password=sa;"
 Set objConn = Server.CreateObject("ADODB.Connection") 
 objConn.Open sConnStr
  #2 (permalink)  
Antiguo 30/01/2007, 18:37
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Re: como mostrar una tabla que resulta de 2 tablas en distinto servidor?

¿Por que no vinculas los dos servidores y haces la consulta refiriendote al "linked server"?, asi dejas que el Sql server haga el trabajo de la conectividad
  #3 (permalink)  
Antiguo 16/02/2007, 18:29
 
Fecha de Ingreso: septiembre-2006
Mensajes: 161
Antigüedad: 17 años, 8 meses
Puntos: 0
Pregunta Re: como mostrar una tabla que resulta de 2 tablas en distinto servidor?

Hola!!!...ya he estado investigando un poco acerca de "linked server", si la conectividad se realiza a traves del sql, tengo una duda: en mi programación en asp solo necesitaré realizar la conexión con el servidor local o tendré que realizar la conexión con el local y el remoto?
  #4 (permalink)  
Antiguo 16/02/2007, 18:52
 
Fecha de Ingreso: septiembre-2006
Mensajes: 161
Antigüedad: 17 años, 8 meses
Puntos: 0
Pregunta Re: como mostrar una tabla que resulta de 2 tablas en distinto servidor?

En caso de que me tuviera que conectar a traves del asp esto sería correcto:


Código:
<%
'Declaramos las variables que vamos a usar:
Dim strDriver, strServer1, strDatabase1, strUsrPass1, cnConexion1
Dim strServer2, strDatabase2, strUsrPass2, cnConexion2

	
'Driver de la Base de datos, en este caso es SQLServer
strDriver = "Driver={SQL Server};"
	
'Servidor 1 (local)
strServer1 = "Server=192.168.1.126;"
'Base de Datos 1
strDatabase = "Database=Rssql;"
'Nombre de usuario y Password 1
strUsrPass = "UID=sa;Password=sa;"
'Finalmente concatenamos todo para hacer la conexion 1
cnConexion1 = strDriver & strServer & strDatabase & strUsrPass

'Servidor 2 (remoto)
strServer1 = "Server=10.37.1.8;"
'Base de Datos 2
strDatabase = "Database=Rast;"
'Nombre de usuario y Password 2
strUsrPass = "UID=sa;Password=sasa;"
'Finalmente concatenamos todo para hacer la conexion 2
cnConexion1 = strDriver & strServer & strDatabase & strUsrPass

'Create and Open Connection Object
Set objConn = Server.CreateObject("ADODB.Connection") 
objConn.Open cnConexion1 

'Create and Open Recordset Object
Set rsVialid = Server.CreateObject("ADODB.Recordset")

strSQL_N = "SELECT Opunicosetiqueta.line, ESCA1.LINE FROM  Rssql.dbo.ESCA1 as O INNER JOIN SORTER.Rast.dbo.Opunicoseiqueta as E ON Opunicosetiqueta.Idetiqueta = ESCA1.Idetiqueta ORDER BY Idetiqueta"

'Atributos de acceso a la consulta de la BD
rsVialid.ActiveConnection = objConn 'checa que ObjConn es el objeto de conexion que creamos
rsVialid.CursorLocation = adUseClient
rsVialid.Open strSQL_N, objConn,2,2
rsVialid.Requery

Es correcta esta sintaxis??
  #5 (permalink)  
Antiguo 19/02/2007, 09:15
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Re: como mostrar una tabla que resulta de 2 tablas en distinto servidor?

Bueno, supongo que si, pero con eso tendrias dos conexiones separadas, no puedes hacer consultas que involucren tablas de los dos servidores de esa forma. Quiza soy yo el que no entiende bien que es lo que necesitas.
  #6 (permalink)  
Antiguo 19/02/2007, 10:28
 
Fecha de Ingreso: septiembre-2006
Mensajes: 161
Antigüedad: 17 años, 8 meses
Puntos: 0
Pregunta Re: como mostrar una tabla que resulta de 2 tablas en distinto servidor?

Hola Myakire!!!...necesito generar un query de 2 tablas que se encuentran en 2 servidores distintos...el servidor local contiene la tabla ESCA1 y el servidor remoto contiene la tabla OPUNIC, ambas contienen el campo de Ietiqueta, el cual relaciona a ambas tablas...necesito generar un query mediante el cual obtenga los datos de code y reject de la tabla ESCA1 y los datos de name y type de la tabla OPUNIC, o sea un JOIN de las tablas ESCA1 y OPUNIC que se encuentran en 2 distintos servidores...para ello debo generar las 2 conecciones para los 2 servidores?...la sintaxis del query cual seria?...
  #7 (permalink)  
Antiguo 19/02/2007, 10:34
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Re: como mostrar una tabla que resulta de 2 tablas en distinto servidor?

Si ya se ven entre si solamente necesitas

Código:
SELECT a.campo1, a.campoN, b.campo1, b.campoN FROM [SERVER1].[dbo].[tabla] a
INNER JOIN [SERVER2].[dbo].[tabla] b ON a.campoID = b.campoID WHERE condiciones
Este tema se me hace familiar...que no estás preguntando lo mismo en Bases de Datos?
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #8 (permalink)  
Antiguo 19/02/2007, 10:50
 
Fecha de Ingreso: septiembre-2006
Mensajes: 161
Antigüedad: 17 años, 8 meses
Puntos: 0
Pregunta Re: como mostrar una tabla que resulta de 2 tablas en distinto servidor?

Hola u_goldman!!!...todavia no se ven entre si los servidores...efectivamente este tema lo estoy preguntado en el foro de sql...el hecho es que necesio generar este query en asp, entonces abri el tema en asp y Myakire me aconsejó revisar el serverlinked directamente en sql, la cuestion es que no he logrado hacer la vinculación de los 2 servidores en sql, entonces retomo la opción original de realizarlo en asp...creo que hay 2 opciones y una de ellas me debe ayudar a solucionar mi problema... ...con respecto al código que me sugieres, tengo una duda, es en caso de que los servidores ya se encuentren vinculados en sql, y en mi codigo de asp solo necesito generar mi conexion con el servidor local?

Código:
'Conección con la BD
sConnStr = "Driver={SQL Server};Server=LOCAL;Database=A;UID=sa;Password=sa;"
Set objConn = Server.CreateObject("ADODB.Connection") 
objConn.Open sConnStr
ademas sigo con la duda, en caso de que los servidores no se encuentren vinculados en sql, cual seria la forma de manejarlo en asp?
  #9 (permalink)  
Antiguo 19/02/2007, 11:28
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Re: como mostrar una tabla que resulta de 2 tablas en distinto servidor?

Cita:
Iniciado por mary* Ver Mensaje
en caso de que los servidores ya se encuentren vinculados en sql, y en mi codigo de asp solo necesito generar mi conexion con el servidor local?
Asi es, solo necesirarias tu conexion local.

Cita:
ademas sigo con la duda, en caso de que los servidores no se encuentren vinculados en sql, cual seria la forma de manejarlo en asp?
Bueno para empezar necesitarias dos conexiones, una para cada server, despues, dices que tienes que hacer un JOIN verdad? Mmmmmhhhh lo que probablemente funcionaria, es tener dos recordsets, y crear un tercero (desconectado) y llenarlo con los datos que necesites del 1ero y 2do

Mejor trata que se vean tus servidores
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:19.