Error con BULK SQL Server

Iniciado por Zeroql, 10 Junio 2018, 04:37 AM

0 Miembros y 1 Visitante están viendo este tema.

Zeroql

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 (sql) [Seleccionar]

CREATE PROCEDURE pLoad_Shift_FileMP
@PathFile varchar(255)
AS
--Crear la tabla temporal para la malla plana
DROP TABLE IF EXISTS #Shift_loads
CREATE TABLE #Shift_loads (
Fecha  DATE NOT NULL ,
Sup VARCHAR(200) NOT NULL,
Nombre VARCHAR(200) NOT NULL,
TAXNUMBER VARCHAR(20) NOT NULL,
HI_prg VARCHAR(10) NOT NULL ,
HF_prg VARCHAR(10) NOT NULL ,
DI_prg VARCHAR(10) NOT NULL ,
DF_prg VARCHAR(10) NOT NULL ,
B1_prg VARCHAR(10) NOT NULL ,
B2_prg VARCHAR(10) NOT NULL ,
HI_prg2 VARCHAR(10) NOT NULL ,
HF_prg2 VARCHAR(10) NOT NULL ,
DI_prg2 VARCHAR(10) NOT NULL ,
DF_prg2 VARCHAR(10) NOT NULL ,
B1_prg2 VARCHAR(10) NOT NULL ,
idCCMS VARCHAR(10) NOT NULL,
Estado VARCHAR(10) NOT NULL
)
--Insertar los datos en la tabla temporal
BULK INSERT #Shift_loads FROM @PathFile WITH (FIRSTROW=2,ROWTERMINATOR='\n')


Muchas gracias
Dime y lo olvido, enseñame y lo recuerdo, involucrame y lo aprendo.
/.-ZEROQL.-\   -----  #937675#


Shell Root

Para este error, lo mejor es usar lo siguiente:
Código (sql) [Seleccionar]
DECLARE @SQL_BULK VARCHAR(MAX);
SET @SQL_BULK = 'BULK INSERT #TAB FROM ''' + @PathFile + ''' WITH (FIRSTROW=2, ROWTERMINATOR = ''0x0a'')';
EXEC (@SQL_BULK); -- Aquí es donde ejecuta el BULK INSERT
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

Zeroql

Hola,

Gracias he probado y funciona perfecto.
Dime y lo olvido, enseñame y lo recuerdo, involucrame y lo aprendo.
/.-ZEROQL.-\   -----  #937675#