OpenRowSet con variables

13/12/2007 - 12:04 por Mario | Informe spam
Hola, podríais ayudarme a resolver este problema, por favor?

Necesito crear un SP que reciba un varchar con una ruta de un fichero xml:
@ficheroXML.
El objetivo es cargar un fichero XML en una variable de texto @textoXML

El problema es que OpenRowSet no admite variables, luego no puedo decirle la
ruta del fichero.

Intento hacerlo dinámicamente:
DECLARE @rowSet varchar(250)
DECLARE @textoXML varchar(max)

SET @rowSet = 'SELECT @textoXML = Bulkcolumn FROM ' +
'OPENROWSET(BULK N''' + @ficheroXML + ''', SINGLE_CLOB) AS Tabla'
EXEC (@rowSet)

Pero @textoXML no es el mismo que el declarado arriba.

Intento hacerlo con una tabla temporal:
SET @rowSet = 'SELECT Bulkcolumn INTO #Temporal FROM ' +
'OPENROWSET(BULK N''' + @ficheroXML + ''', SINGLE_CLOB) AS Tabla'
EXEC (@rowSet)

Pero al volver el EXEC, no puedo ver la tabla temporal.

Cómo puedo hacerlo, por favor?

Preguntas similare

Leer las respuestas

#1 Maxi
13/12/2007 - 13:38 | Informe spam
Hola, no utilice EXEC use sp_executesql en su lugar.
Vea en sus libros on line la sintaxis y como es el tratamiento de parametros


-
Microsoft M.V.P en SQLServer
SQLTotal Consulting - Servicios en SQLServer
Email:
"Mario" escribió en el mensaje
news:
Hola, podríais ayudarme a resolver este problema, por favor?

Necesito crear un SP que reciba un varchar con una ruta de un fichero xml:
@ficheroXML.
El objetivo es cargar un fichero XML en una variable de texto @textoXML

El problema es que OpenRowSet no admite variables, luego no puedo decirle
la
ruta del fichero.

Intento hacerlo dinámicamente:
DECLARE @rowSet varchar(250)
DECLARE @textoXML varchar(max)

SET @rowSet = 'SELECT @textoXML = Bulkcolumn FROM ' +
'OPENROWSET(BULK N''' + @ficheroXML + ''', SINGLE_CLOB) AS Tabla'
EXEC (@rowSet)

Pero @textoXML no es el mismo que el declarado arriba.

Intento hacerlo con una tabla temporal:
SET @rowSet = 'SELECT Bulkcolumn INTO #Temporal FROM ' +
'OPENROWSET(BULK N''' + @ficheroXML + ''', SINGLE_CLOB) AS Tabla'
EXEC (@rowSet)

Pero al volver el EXEC, no puedo ver la tabla temporal.

Cómo puedo hacerlo, por favor?
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida