Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Bulk Insert con paso de parametros

Estas en el tema de Bulk Insert con paso de parametros en el foro de SQL Server en Foros del Web. Hola amigos, Tengo un procedimiento almacenado, el cual me sube un archivo cvs atravez de un Bulk Insert este es asi: alter procedure SP_cargadatos as ...
  #1 (permalink)  
Antiguo 24/07/2010, 17:07
 
Fecha de Ingreso: junio-2010
Mensajes: 25
Antigüedad: 14 años, 5 meses
Puntos: 0
Bulk Insert con paso de parametros

Hola amigos, Tengo un procedimiento almacenado, el cual me sube un archivo cvs atravez de un Bulk Insert

este es asi:

alter procedure SP_cargadatos
as
begin
BULK INSERT TEMPORAL
FROM 'C:\ARCHIVOS_PLANOS\ENERO2010'
WITH (
FIELDTERMINATOR=',',
ROWTERMINATOR='\N'

)

end

Tal cual se ve, no genera problemas, el problema es esta en "enduro" la ruta del archivo, por ende cuando intento pasarle la ruta completa atravez de ASP.net, sudecen 2 cosas

1.- al hacerlo asi:

alter procedure SP_cargadatos
@ruta varchar (200)
as
begin
BULK INSERT TEMPORAL
FROM @ruta
WITH (
FIELDTERMINATOR=',',
ROWTERMINATOR='\N'
)
end

me salen 2 mensajes de error

1) Incorrect syntax near '@ruta'

2) Incorrect syntax near the keyword 'with' _ If this statement is a common table expression or an xmlnamespaces clause, the previous statement must be terminated with a semicolon

2.- Y al hacerlo asi

alter procedure SP_cargadatos
@ruta varchar (200)
as
begin
BULK INSERT TEMPORAL
FROM '@ruta'
WITH (
FIELDTERMINATOR=',',
ROWTERMINATOR='\N'
)
end

Me reclama desde la query, que '@ruta' no es una ruta valida

Que esta mal?

Muchas Gracias y atento a sus comentarios
  #2 (permalink)  
Antiguo 26/07/2010, 11:09
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 17 años, 4 meses
Puntos: 180
Respuesta: Bulk Insert con paso de parametros

Debes utilizar query dinamico, busca aqui mismo en el foro, ya hemos tratado este asunto.

Etiquetas: bulk, insert, parametros
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:06.