¿Sqkbulkcopy reemplaza el esquema de tabla?

c# sqlbulkcopy

Pregunta

Estaba insertando datos masivos del código C # usando sqlbulkcopy. Había 15000 registros en la tabla temp_upload. Ahora, de alguna manera, la tabla de datos en el método WriteToServer () tenía solo una columna y 37 filas.

Después de ejecutarlo, encontré que la tabla solo tenía 37 registros. Inicialmente tenía 152 columnas, pero después solo quedaban 32 columnas.

¿Cuál podría ser la razón de ésto?

Código C # para esto

public static void BulkInsert(SqlConnection connection,DataTable DtRecord,string   TableName)
    {

        if (DtRecord == null) throw new ArgumentNullException("dataTable");
        // Create & open a SqlConnection, and dispose of it after we are done

            connection.Open();
            SqlBulkCopy bulkCopy = new SqlBulkCopy(connection);
            bulkCopy.DestinationTableName = TableName;
            for (int recordLoop = 0; recordLoop < DtRecord.Columns.Count; recordLoop++)
            {
                bulkCopy.ColumnMappings.Add(DtRecord.Columns[recordLoop].ColumnName, DtRecord.Columns[recordLoop].ColumnName);
            }

            bulkCopy.WriteToServer(DtRecord);
            bulkCopy.Close();
            connection.Close();

    }

Respuesta popular

El código de ejemplo dado en esta página de MSDN tiene scripts que crean tablas con los campos apropiados antes de realizar la operación de copia, por lo que dudo que SqlBulkCopy cambie el esquema. Además, SQLBulkCopy utiliza asignaciones de columnas, que serían inconsistentes con el cambio del esquema de las tablas de destino, ya que las asignaciones no serían necesarias para hacer eso.



Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué