Usando OPENROWSET

03/04/2005 - 22:57 por Luis Nivar | Informe spam
Necesito sacar desde otro servidor un registro de una tabla que tiene
millones de registros. El problema es que tengo que enviarle un parametro
pero no me lo permite.

Estoy tratando de hacerlo con openrowset de esta forma:

create proc xCEDULAS (@Cedula varchar(20)) as
select * FROM OPENROWSET('MSDASQL', 'DRIVER={SQL
Server};SERVER=padron;UID=sa;PWD=Passxxx',
' select * from bdpadron.dbo.personas personas where
personas.cedula=@cedula') AS padron


Pero no me permite poner el parametro @cedula en el openrowset.
Como puedo resolverlo ?

Preguntas similare

Leer las respuestas

#1 Maxi
04/04/2005 - 01:34 | Informe spam
Hola, es que deberias concatenarlo asi:

create proc xCEDULAS (@Cedula varchar(20)) as
select * FROM OPENROWSET('MSDASQL', 'DRIVER={SQL
Server};SERVER=padron;UID=sa;PWD=Passxxx',
' select * from bdpadron.dbo.personas personas where
personas.cedula=' + @cedula ) AS padron





"Luis Nivar" escribió en el mensaje
news:%
Necesito sacar desde otro servidor un registro de una tabla que tiene
millones de registros. El problema es que tengo que enviarle un parametro
pero no me lo permite.

Estoy tratando de hacerlo con openrowset de esta forma:

create proc xCEDULAS (@Cedula varchar(20)) as
select * FROM OPENROWSET('MSDASQL', 'DRIVER={SQL
Server};SERVER=padron;UID=sa;PWD=Passxxx',
' select * from bdpadron.dbo.personas personas where
personas.cedula=@cedula') AS padron


Pero no me permite poner el parametro @cedula en el openrowset.
Como puedo resolverlo ?


Respuesta Responder a este mensaje
#2 Luis Nivar
04/04/2005 - 05:15 | Informe spam
Me da un error al definir el sp: Incorrect syntax near '+'




"Maxi" wrote in message
news:
Hola, es que deberias concatenarlo asi:

> create proc xCEDULAS (@Cedula varchar(20)) as
> select * FROM OPENROWSET('MSDASQL', 'DRIVER={SQL
> Server};SERVER=padron;UID=sa;PWD=Passxxx',
> ' select * from bdpadron.dbo.personas personas where
> personas.cedula=' + @cedula ) AS padron



"Luis Nivar" escribió en el mensaje
news:%
> Necesito sacar desde otro servidor un registro de una tabla que tiene
> millones de registros. El problema es que tengo que enviarle un


parametro
> pero no me lo permite.
>
> Estoy tratando de hacerlo con openrowset de esta forma:
>
> create proc xCEDULAS (@Cedula varchar(20)) as
> select * FROM OPENROWSET('MSDASQL', 'DRIVER={SQL
> Server};SERVER=padron;UID=sa;PWD=Passxxx',
> ' select * from bdpadron.dbo.personas personas where
> personas.cedula=@cedula') AS padron
>
>
> Pero no me permite poner el parametro @cedula en el openrowset.
> Como puedo resolverlo ?
>
>


Respuesta Responder a este mensaje
#3 Luis Nivar
04/04/2005 - 20:42 | Informe spam
La verdad que no logro evitar el error probando de varias formas.

Habra otra manera de obtener esto ?

"Maxi" wrote in message
news:
Hola, es que deberias concatenarlo asi:

> create proc xCEDULAS (@Cedula varchar(20)) as
> select * FROM OPENROWSET('MSDASQL', 'DRIVER={SQL
> Server};SERVER=padron;UID=sa;PWD=Passxxx',
> ' select * from bdpadron.dbo.personas personas where
> personas.cedula=' + @cedula ) AS padron



"Luis Nivar" escribió en el mensaje
news:%
> Necesito sacar desde otro servidor un registro de una tabla que tiene
> millones de registros. El problema es que tengo que enviarle un


parametro
> pero no me lo permite.
>
> Estoy tratando de hacerlo con openrowset de esta forma:
>
> create proc xCEDULAS (@Cedula varchar(20)) as
> select * FROM OPENROWSET('MSDASQL', 'DRIVER={SQL
> Server};SERVER=padron;UID=sa;PWD=Passxxx',
> ' select * from bdpadron.dbo.personas personas where
> personas.cedula=@cedula') AS padron
>
>
> Pero no me permite poner el parametro @cedula en el openrowset.
> Como puedo resolverlo ?
>
>


Respuesta Responder a este mensaje
#4 Miguel Egea
04/04/2005 - 23:25 | Informe spam
Luis prueba a usar sqldinámico,
exec(@sql), en donde @sql sea tu select incluido el valor concatenado de
cédula (ten cuidado con el sqlinyection).

saludos
Miguel Egea
"Luis Nivar" escribió en el mensaje
news:%
Necesito sacar desde otro servidor un registro de una tabla que tiene
millones de registros. El problema es que tengo que enviarle un parametro
pero no me lo permite.

Estoy tratando de hacerlo con openrowset de esta forma:

create proc xCEDULAS (@Cedula varchar(20)) as
select * FROM OPENROWSET('MSDASQL', 'DRIVER={SQL
Server};SERVER=padron;UID=sa;PWD=Passxxx',
' select * from bdpadron.dbo.personas personas where
personas.cedula=@cedula') AS padron


Pero no me permite poner el parametro @cedula en el openrowset.
Como puedo resolverlo ?


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida