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.

Bulk Insert parcialmente citado archivo CSV a MS SQL Server

Estoy intentando cargar un archivo CSV a una tabla de MS SQL Server utilizando el siguiente comando:

bulk insert emp1
from 'testfile/emp.csv'
with (
    data_source = 'src_gl_details',
    format = 'CSV',
    FIRSTROW = 2,
    FIELDQUOTE = '"',
    ROWTERMINATOR = '\r\n'
)

Con este comando estoy obteniendo el siguiente error:

Msg 7301, Level 16, State 2, Line 13
Cannot obtain the required interface (“IID_IColumnsInfo”) from OLE DB provider “BULK” for linked server “(null)”.

Cuando remuevo format = 'CSV' del comando, funciona, pero no se inserta ningún registro en la tabla.

Necesito ayuda con esto.

A continuación se muestra mi archivo de muestra:

id, name
1, “John”
2, “Mike”

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que puede haber un problema de compatibilidad entre el proveedor OLE DB BULK y el formato CSV al usar el comando bulk insert en SQL Server.

    Para poder solucionar mejor el problema, puede ser útil intentar lo siguiente:

    • Verificar que el proveedor OLE DB BULK esté instalado en el servidor y sea accesible para SQL Server.
    • Asegurarse de que la ruta del archivo en la cláusula from sea correcta y que SQL Server tenga permisos para acceder al archivo.
    • Utilizar un formato o delimitador de archivo diferente, como valores separados por tabulaciones (TSV).

    Además, el uso de comillas dobles (") en los datos puede estar causando problemas con la opción FIELDQUOTE. Puede ser útil intentar eliminar la opción FIELDQUOTE o utilizar un carácter diferente como delimitador de campos para ver si eso resuelve el problema.

    En general, puede ser necesario realizar una investigación y experimentación adicional para identificar la causa raíz del problema y encontrar una solución.

Comments are closed.