PROBLEMAS CON PARAMETROS EN SQL

04/04/2006 - 00:43 por Antonio Revollo | Informe spam
Saludos todos,

Maxi, no tengo mucha claridad en usar SQL_dinamicp para hacer lo que
deseo... me podrias detallar más el asunto, necesito por favor ayuda para
pasar un parametro determinado a la a través de OPENROWSET, se podría?...
mas abajo explico la situciaón...

Gracias,

Tony
==
mm me temo que vas a tener que usar SQL-dinamicp (sp_executesql)


Salu2
Maxi [MVP SQL SERVER]
www.sqlgurus.org


"Antonio Revollo" <antoniorev@hotmail.com> escribió en el mensaje
news:e$oUYyPVGHA.4900@TK2MSFTNGP12.phx.gbl...

Salidos a todos...

Por favor necesito saber cuál es la sintaxis para pasar un parametro
dentro de la función OPENROWSET del procedimiento almacenado siguiente:
CREATE PROCEDURE <nombre_sp>
( parametro1 nvarchar (400) )

AS

INSERT INTO <nom_tabla> (Campos...)
SELECT *
FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', parametro1;'admin';'',
<nom_tabla>) AS c

GO


Agradezco su colaboración.

Antonio



Preguntas similare

Leer las respuestas

#6 Antonio Revollo
04/04/2006 - 18:45 | Informe spam
Y aparece cuando se va a ejecutar una prueba en el analizador de consulta,
antes se deja guardar normal y sin problemas...

"Antonio Revollo" escribió en el mensaje
news:
Aún nada compañero... mire el mensaje que aparece:

Porque aparece este error...????
> Servidor: mensaje 170, nivel 15, estado 1, línea 3
Línea 3: sintaxis incorrecta cerca de '.'.

=> Gracias,

Tony

"Isaias" escribió en el mensaje
news:
Cambia esta linea:

OPENROWSET(Microsoft.Jet.OLEDB.4.0, '+char(39)+@DirR+char(39)+';admin; ,
TA_Facturacion)

Saludos
IIslas


"Antonio Revollo" escribió:

Jejeje... eso esta bien compañeros, y agradezco sus ayudas estamos
para
apoyarnos... pero aún no consigo el objetivo... miren lo que pasa. A
nivel
de sintaxis según todo está bien, pero cuando voy a probar el SP en el
analizador de consultas genera un error de sintaxis inesplicable,
respecto a
la sugerencia de IIslas las tuve en cuenta, pero hay problemas en la
parte
de Microsoft.Jet.OLEDB.4.0 ya que solo lo acepta sin comillas sencillas
(''), y todos los demas campos allí presentes también. Les envío todo el
SP
para que lo prueben y me digan sus comentarios... estaré a la espera...

=>>> CREATE PROCEDURE spRepTA_Facturacion100Nuevo
(
@pref nvarchar(10), @con_I float, @con_f float, @DirR nvarchar(300)
)
AS
BEGIN
DECLARE @SQLCadena nvarchar(4000)
SET @SQLCadena = N' INSERT INTO TA_Facturacion (nfact, NPEDIDO,
fechafactura, clientefactura, retenciones)
SELECT
c.nfact,c.NPEDIDO,c.fechafactura,c.clientefactura, c.retenciones
FROM
OPENROWSET(Microsoft.Jet.OLEDB.4.0, '+@DirR+';admin; , TA_Facturacion)
AS c WHERE c.cia=@pref AND
((c.consecutivo) BETWEEN @con_I AND @con_f) '
EXECUTE sp_executesql @SQLCadena
END
GO

=>>>

"Maxi [Mvp]" escribió en el mensaje
news:%
> jaja, muy bien amigo :-)
>
>
> Saludos
>
> -
> Buenos Aires - Argentina
> [Microsoft MVP SQL SERVER]
> www.sqlgurus.org
> "Isaias" wrote in message
> news:
>> Con el persmiso de Maxi
>>
>> CREATE PROCEDURE <nombre_sp>
>> ( parametro1 nvarchar (400) )
>>
>> AS
>> BEGIN
>> SET @SQLString NVARCHAR(5000)
>> SET @SQLString = N' INSERT INTO <nom_tabla> (Campos...)
>> SELECT *
>> FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0','+
>> parametro1+';'admin';'',
>> <nom_tabla>) AS c'
>> EXECUTE sp_executesql @SQLString
>> END
>>
>> Saludos
>> IIslas
>>
>>
>> "Antonio Revollo" escribió:
>>
>>> Saludos todos,
>>>
>>> Maxi, no tengo mucha claridad en usar SQL_dinamicp para hacer lo que
>>> deseo... me podrias detallar más el asunto, necesito por favor ayuda
>>> para
>>> pasar un parametro determinado a la a través de OPENROWSET, se
>>> podría?...
>>> mas abajo explico la situciaón...
>>>
>>> Gracias,
>>>
>>> Tony
>>> ==>>> >>>
>>> mm me temo que vas a tener que usar SQL-dinamicp (sp_executesql)
>>>
>>>
>>> Salu2
>>> Maxi [MVP SQL SERVER]
>>> www.sqlgurus.org
>>>
>>>
>>> "Antonio Revollo" escribió en el mensaje
>>> news:e$
>>> > Salidos a todos...
>>> >
>>> > Por favor necesito saber cuál es la sintaxis para pasar un
>>> > parametro
>>> > dentro de la función OPENROWSET del procedimiento almacenado
>>> > siguiente:
>>> > CREATE PROCEDURE <nombre_sp>
>>> > ( parametro1 nvarchar (400) )
>>> >
>>> > AS
>>> >
>>> > INSERT INTO <nom_tabla> (Campos...)
>>> > SELECT *
>>> > FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', parametro1;'admin';'',
>>> > <nom_tabla>) AS c
>>> >
>>> > GO
>>> >
>>> >
>>> > Agradezco su colaboración.
>>> >
>>> > Antonio
>>> >
>>> >
>>> >
>>>
>>>
>>>
>>>
>
>









Respuesta Responder a este mensaje
#7 Isaias
04/04/2006 - 21:57 | Informe spam
Antes de mandar a ejecutar tu instruccion, ejecuta esto:

SELECT @SQLString

Revisa el contenido de la variable, que el script T-SQL sea correcto, de no
ser asi, modifica tu instruccion y vuelve a probar.

Saludos
Saludos
IIslas


"Antonio Revollo" escribió:

Y aparece cuando se va a ejecutar una prueba en el analizador de consulta,
antes se deja guardar normal y sin problemas...

"Antonio Revollo" escribió en el mensaje
news:
> Aún nada compañero... mire el mensaje que aparece:
>
> Porque aparece este error...????
> > > Servidor: mensaje 170, nivel 15, estado 1, línea 3
> Línea 3: sintaxis incorrecta cerca de '.'.
>
> => > Gracias,
>
> Tony
>
> "Isaias" escribió en el mensaje
> news:
>> Cambia esta linea:
>>
>> OPENROWSET(Microsoft.Jet.OLEDB.4.0, '+char(39)+@DirR+char(39)+';admin; ,
>> TA_Facturacion)
>>
>> Saludos
>> IIslas
>>
>>
>> "Antonio Revollo" escribió:
>>
>>> Jejeje... eso esta bien compañeros, y agradezco sus ayudas estamos
>>> para
>>> apoyarnos... pero aún no consigo el objetivo... miren lo que pasa. A
>>> nivel
>>> de sintaxis según todo está bien, pero cuando voy a probar el SP en el
>>> analizador de consultas genera un error de sintaxis inesplicable,
>>> respecto a
>>> la sugerencia de IIslas las tuve en cuenta, pero hay problemas en la
>>> parte
>>> de Microsoft.Jet.OLEDB.4.0 ya que solo lo acepta sin comillas sencillas
>>> (''), y todos los demas campos allí presentes también. Les envío todo el
>>> SP
>>> para que lo prueben y me digan sus comentarios... estaré a la espera...
>>>
>>> => >>> CREATE PROCEDURE spRepTA_Facturacion100Nuevo
>>> (
>>> @pref nvarchar(10), @con_I float, @con_f float, @DirR nvarchar(300)
>>> )
>>> AS
>>> BEGIN
>>> DECLARE @SQLCadena nvarchar(4000)
>>> SET @SQLCadena = N' INSERT INTO TA_Facturacion (nfact, NPEDIDO,
>>> fechafactura, clientefactura, retenciones)
>>> SELECT
>>> c.nfact,c.NPEDIDO,c.fechafactura,c.clientefactura, c.retenciones
>>> FROM
>>> OPENROWSET(Microsoft.Jet.OLEDB.4.0, '+@DirR+';admin; , TA_Facturacion)
>>> AS c WHERE c.cia=@pref AND
>>> ((c.consecutivo) BETWEEN @con_I AND @con_f) '
>>> EXECUTE sp_executesql @SQLCadena
>>> END
>>> GO
>>>
>>> => >>>
>>>
>>> "Maxi [Mvp]" escribió en el mensaje
>>> news:%
>>> > jaja, muy bien amigo :-)
>>> >
>>> >
>>> > Saludos
>>> >
>>> > -
>>> > Buenos Aires - Argentina
>>> > [Microsoft MVP SQL SERVER]
>>> > www.sqlgurus.org
>>> > "Isaias" wrote in message
>>> > news:
>>> >> Con el persmiso de Maxi
>>> >>
>>> >> CREATE PROCEDURE <nombre_sp>
>>> >> ( parametro1 nvarchar (400) )
>>> >>
>>> >> AS
>>> >> BEGIN
>>> >> SET @SQLString NVARCHAR(5000)
>>> >> SET @SQLString = N' INSERT INTO <nom_tabla> (Campos...)
>>> >> SELECT *
>>> >> FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0','+
>>> >> parametro1+';'admin';'',
>>> >> <nom_tabla>) AS c'
>>> >> EXECUTE sp_executesql @SQLString
>>> >> END
>>> >>
>>> >> Saludos
>>> >> IIslas
>>> >>
>>> >>
>>> >> "Antonio Revollo" escribió:
>>> >>
>>> >>> Saludos todos,
>>> >>>
>>> >>> Maxi, no tengo mucha claridad en usar SQL_dinamicp para hacer lo que
>>> >>> deseo... me podrias detallar más el asunto, necesito por favor ayuda
>>> >>> para
>>> >>> pasar un parametro determinado a la a través de OPENROWSET, se
>>> >>> podría?...
>>> >>> mas abajo explico la situciaón...
>>> >>>
>>> >>> Gracias,
>>> >>>
>>> >>> Tony
>>> >>> ==> >>> >>>
>>> >>> mm me temo que vas a tener que usar SQL-dinamicp (sp_executesql)
>>> >>>
>>> >>>
>>> >>> Salu2
>>> >>> Maxi [MVP SQL SERVER]
>>> >>> www.sqlgurus.org
>>> >>>
>>> >>>
>>> >>> "Antonio Revollo" escribió en el mensaje
>>> >>> news:e$
>>> >>> > Salidos a todos...
>>> >>> >
>>> >>> > Por favor necesito saber cuál es la sintaxis para pasar un
>>> >>> > parametro
>>> >>> > dentro de la función OPENROWSET del procedimiento almacenado
>>> >>> > siguiente:
>>> >>> > CREATE PROCEDURE <nombre_sp>
>>> >>> > ( parametro1 nvarchar (400) )
>>> >>> >
>>> >>> > AS
>>> >>> >
>>> >>> > INSERT INTO <nom_tabla> (Campos...)
>>> >>> > SELECT *
>>> >>> > FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', parametro1;'admin';'',
>>> >>> > <nom_tabla>) AS c
>>> >>> >
>>> >>> > GO
>>> >>> >
>>> >>> >
>>> >>> > Agradezco su colaboración.
>>> >>> >
>>> >>> > Antonio
>>> >>> >
>>> >>> >
>>> >>> >
>>> >>>
>>> >>>
>>> >>>
>>> >>>
>>> >
>>> >
>>>
>>>
>>>
>
>



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