Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: Zeroql en 10 Junio 2018, 04:37 am



Título: Error con BULK SQL Server
Publicado por: Zeroql en 10 Junio 2018, 04:37 am
Hola Muchachos,
Tengo un inconveniente con un procedimiento en SQL server, donde el bulk me sale con un error con la variable @PathFile
Me pueden ayudar validando no encuentro error alguno consultando por internet.
Dejo el codigo

Código
  1. CREATE PROCEDURE pLoad_Shift_FileMP
  2. @PathFile VARCHAR(255)
  3. AS
  4. --Crear la tabla temporal para la malla plana
  5. DROP TABLE IF EXISTS #Shift_loads
  6. CREATE TABLE #Shift_loads (
  7. Fecha  DATE NOT NULL ,
  8. Sup VARCHAR(200) NOT NULL,
  9. Nombre VARCHAR(200) NOT NULL,
  10. TAXNUMBER VARCHAR(20) NOT NULL,
  11. HI_prg VARCHAR(10) NOT NULL ,
  12. HF_prg VARCHAR(10) NOT NULL ,
  13. DI_prg VARCHAR(10) NOT NULL ,
  14. DF_prg VARCHAR(10) NOT NULL ,
  15. B1_prg VARCHAR(10) NOT NULL ,
  16. B2_prg VARCHAR(10) NOT NULL ,
  17. HI_prg2 VARCHAR(10) NOT NULL ,
  18. HF_prg2 VARCHAR(10) NOT NULL ,
  19. DI_prg2 VARCHAR(10) NOT NULL ,
  20. DF_prg2 VARCHAR(10) NOT NULL ,
  21. B1_prg2 VARCHAR(10) NOT NULL ,
  22. idCCMS VARCHAR(10) NOT NULL,
  23. Estado VARCHAR(10) NOT NULL
  24. )
  25. --Insertar los datos en la tabla temporal
  26. BULK INSERT #Shift_loads FROM @PathFile WITH (FIRSTROW=2,ROWTERMINATOR='\n')
  27.  

Muchas gracias


Título: Re: Error con BULK SQL Server
Publicado por: Shell Root en 12 Junio 2018, 10:13 am
Para este error, lo mejor es usar lo siguiente:
Código
  1. DECLARE @SQL_BULK VARCHAR(MAX);
  2. SET @SQL_BULK = 'BULK INSERT #TAB FROM ''' + @PathFile + ''' WITH (FIRSTROW=2, ROWTERMINATOR = ''0x0a'')';
  3. EXEC (@SQL_BULK); -- Aquí es donde ejecuta el BULK INSERT


Título: Re: Error con BULK SQL Server
Publicado por: Zeroql en 16 Junio 2018, 15:07 pm
Hola,

Gracias he probado y funciona perfecto.