es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

La inserción en masa no afecta ninguna fila.

La siguiente instrucción SQL devuelve “0 filas afectadas”.

La tabla de actualización está creada y la inserción masiva se ejecuta sin errores. El archivo que estoy intentando importar está separado por “;”, con los encabezados en la primera fila. Cada fila está en una nueva línea.

He intentado varios cambios pero sigo obteniendo el mismo mensaje una y otra vez:

CREATE TABLE DW2.dbo.UPD<em>TANKINGEN</em>XXX 
(
    datum NVARCHAR(50),
    tijd NVARCHAR(50),
    kaart NVARCHAR(50),
    kenteken NVARCHAR(50),
    chauffeur NVARCHAR(50),
    bon NVARCHAR(50),
    km<em>st NVARCHAR(50),
    stationsnaam NVARCHAR(50),
    productnaam NVARCHAR(50),
    volume NVARCHAR(50),
    netto</em>bedrag<em>excl</em>btw NVARCHAR(50),
    factuurnr NVARCHAR(50),
    Debiteurnummer NVARCHAR(50)
)
GO

BULK INSERT DW2.dbo.UPD<em>TANKINGEN</em>XXX
FROM 'K:_DWH_DW2\Tankdata\XXX.csv' 
WITH (FIRSTROW=2, FIELDTERMINATOR=';', ROWTERMINATOR='\n\r', keepnulls)
GO
Tags:  , ,

Answer

  1. Avatar for davy.ai

    Puede haber varias razones por las cuales la declaración SQL devuelve “0 filas afectadas” a pesar de la ejecución exitosa de las declaraciones de creación de tabla e inserción a granel.

    Una posible razón podría ser que no haya filas en el archivo CSV que coincidan con los criterios especificados en la declaración de inserción a granel. Es posible que la primera fila del archivo CSV, que contiene los encabezados, no se cuente como una fila de datos y, por lo tanto, no se importe en la tabla.

    Otra razón posible podría ser que el comando BULK INSERT no pueda ubicar el archivo CSV en la ubicación especificada. Es esencial asegurarse de que la ruta y el nombre del archivo sean correctos y de que el servidor SQL tenga suficientes permisos para acceder al archivo.

    También es posible que una o más columnas en el archivo CSV no coincidan con los tipos de datos especificados en la declaración CREATE TABLE. Esto puede hacer que la inserción a granel falle silenciosamente y devuelva “0 filas afectadas”.

    Para solucionar el problema, podría ser útil verificar los registros de errores del servidor SQL en busca de mensajes de error relevantes o probar la declaración de inserción a granel con un archivo de prueba más pequeño para aislar el problema.

Comments are closed.