SQL Server - Bulk insert pasando parametros

   
Vista:

Bulk insert pasando parametros

Publicado por Carolina (4 intervenciones) el 22/04/2009 16:50:35
Hola, estoy tratando de hacer un bulk insert pasando como parametro la ruta del archivo adjunto anvio el ejemplo, la verdad nose que estoy haciendo mal. He probado con dos formas distintas y ambas me envian error creo debe ser alguna comilla mal puesta..

Si alguien me puede ayudar..por favor...

create table #temp_log_gav
([column 0] nvarchar (500))

declare @variable nvarchar(100);
set @variable = '\gesapp01d$Cubos_PlanningGAVgav.log'

--Una forma
DECLARE @bulk_cmd varchar(1000)
SET @bulk_cmd = 'BULK INSERT #temp_log_gav FROM '@variable
EXEC(@bulk_cmd)

-- la otra forma que he probado.

DECLARE @SQLString NVARCHAR(100)
SET @SQLString = N'BULK INSERT #temp_log_gav FROM '+@variable
EXEC sp_executesql @SQLString

Gracias y Saludos
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:Bulk insert pasando parametros

Publicado por Isaias (3180 intervenciones) el 23/04/2009 05:29:38
Carolina

La primera y segunda opcion, no funcionaran, porque sencillamente la tabla temporal no sera reconocida en tu segundo contexto de ejecucion, debes declararla no temporal y al final, si lo deseas, hacerle DROP.

Por otro lado, lee en tu ayuda en linea, la forma correcta de pasar los parametros a sp_executesql, te dejo un ejemplo:

DECLARE @IntVariable INT;
DECLARE @SQLString NVARCHAR(500);
DECLARE @ParmDefinition NVARCHAR(500);

/* Build the SQL string one time. */
SET @SQLString =
N'SELECT * FROM AdventureWorks.Sales.Store WHERE SalesPersonID = @SalesID';
/* Specify the parameter format one time. */
SET @ParmDefinition = N'@SalesID int';

/* Execute the string with the first parameter value. */
SET @IntVariable = 275;
EXECUTE sp_executesql @SQLString, @ParmDefinition,
@SalesID = @IntVariable;
/* Execute the same string with the second parameter value. */
SET @IntVariable = 276;
EXECUTE sp_executesql @SQLString, @ParmDefinition,
@SalesID = @IntVariable;
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