Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Openquery

Estas en el tema de Openquery en el foro de SQL Server en Foros del Web. Saludos a todos espero alguien me pueda ayudar, tengo un pequeño problema e realizado un linkserver de sql a Oracle ya hago consultas perfectamente y ...
  #1 (permalink)  
Antiguo 05/03/2008, 17:12
 
Fecha de Ingreso: diciembre-2003
Mensajes: 595
Antigüedad: 20 años, 5 meses
Puntos: 1
Openquery

Saludos a todos espero alguien me pueda ayudar, tengo un pequeño problema e realizado un linkserver de sql a Oracle ya hago consultas perfectamente
y todo el problema es que cuando quiero meter variables en mis codicionales no me trae nada un ejemplo sencillo seria este
este primer quiery me funciona a la perfeccion

SELECT * FROM OPENQUERY(prueba ,' select * from bt_cedula_clon where bill_period=''M01'' ')

mas sin embargo cuando le quiero agrer la variable como esto

declare @ciclo varchar(6)
set @ciclo ='M06'
SELECT * FROM OPENQUERY(prueba ,' select * from bt_cedula_clon where bill_period='' + @ciclo +''')

No me marca error pero no me trae nada alguien sabe cmo puedo usar variables en el OPENQUERY
  #2 (permalink)  
Antiguo 06/03/2008, 00:04
Avatar de Beakdan  
Fecha de Ingreso: diciembre-2001
Ubicación: Monterrey, Nuevo León
Mensajes: 433
Antigüedad: 22 años, 4 meses
Puntos: 7
Re: Openquery

Construye primero la consulta en una cadena, y luego ejecútala con sp_executesql
Código:
DECLARE @ciclo NVARCHAR(6), @query NVARCHAR(1000)
SET @ciclo = N'M06'

SET @query = N'SELECT * FROM OPENQUERY(prueba, ''select * from bt_cedula_clon where bill_period=''' + @ciclo + ''')'
EXECUTE sp_executesql @query
  #3 (permalink)  
Antiguo 06/03/2008, 08:04
 
Fecha de Ingreso: diciembre-2003
Mensajes: 595
Antigüedad: 20 años, 5 meses
Puntos: 1
Re: Openquery

Gracias Beakdan me resulto a la perfeccion
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 11:34.