SQL Server - OPENROWSET con parametros

   
Vista:

OPENROWSET con parametros

Publicado por Miguel (7 intervenciones) el 22/06/2010 17:44:13
Hola,

Estoy intentando realizar un acceso mediante OPENROWSET a un fichero excel de forma dinámica. Quiero decir, que la ruta y el nombre del fichero se lo intento pasar como parametros, pero no se como lo puedo hacer, si tenéis alguana idea.

Muchas gracias.

Mi codigo es:

DECLARE @NCargo CHAR(50)

SET @NCargo= (SELECT *
FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=\\F18SRV04\F18TMP\GARANTIAS.xls', 'SELECT * FROM [GARANTIAS$B1:B2]'))

PRINT @NCargo

quiero pasarle \\F18SRV04\F18TMP\ como variable @Ruta
y GARANTIAS.xls' como variable @Fichero
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias

RE:OPENROWSET con parametros

Publicado por Isaias (3181 intervenciones) el 22/06/2010 19:55:45
Ya hemos comentado por estos foros sobre QUERY DINAMICO, buscalo y de no encontrarlo, volvemos a platicar del tema
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:OPENROWSET con parametros

Publicado por Recu (7 intervenciones) el 23/06/2010 16:21:45
Hola,

Muchas gracias, ya he mirado pero no veo nada, lo que yo quiero hacer es lo siguiente:

DECLARE @sql char(150)
DECLARE @Driver sysname
DECLARE @Cadena sysname
DECLARE @Sentencia sysname

SET @Driver='Microsoft.Jet.OLEDB.4.0'
SET @Cadena='Excel 8.0; Database=\\F18SRV04\F18TMP\GARANTIAS.xls'
SET @Sentencia='SELECT * FROM [GARANTIAS$B1:B2]'

SET @sql='SELECT * FROM OPENROWSET('+@Driver+', '+@Cadena+', '+@Sentencia+')'

print @sql

execute (@sql)

pero peta me da el siguiente error: y ya no se que demonios le puede pasar.

Servidor: mensaje 170, nivel 15, estado 1, línea 1
Line 1: Incorrect syntax near '.'.
Servidor: mensaje 170, nivel 15, estado 1, línea 1
Line 1: Incorrect syntax near ')'.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias

RE:OPENROWSET con parametros

Publicado por Isaias (3181 intervenciones) el 23/06/2010 18:33:05
En pocas palabras te esta diciendo que tu instruccion SQL es incorrecta, ¿porque no revisas el resultado que te da PRINT @sql?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:OPENROWSET con parametros

Publicado por recu (7 intervenciones) el 29/06/2010 17:20:28
Muchas gracias, ya lo he conseguido, que lio con las comillas

DECLARE @sql char(150)
DECLARE @Driver sysname
DECLARE @Cadena sysname
DECLARE @Sentencia sysname

SET @Driver= ''''+'Microsoft.Jet.OLEDB.4.0'+''''
SET @Cadena=''''+'Excel 8.0; Database=\\F18SRV04\F18TMP\GARANTIAS.xls'+''''
SET @Sentencia=''''+'SELECT * FROM [GARANTIAS$B1:B2]'+''''

SET @sql='SELECT * FROM OPENROWSET('+@Driver+', '+@Cadena+', '+@Sentencia+')'


print @sql

execute (@sql)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:OPENROWSET con parametros

Publicado por ESTEBAN (2 intervenciones) el 10/11/2011 07:37:47
Excelente ayuda, y sí que enredo de comillas jeje pero lo importante es que funciona. Muchas gracias!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar