Cómo usar BulkCopy sin definir la tabla de destino

c# datatable sql sqlbulkcopy

Pregunta

Todas,

Tengo la siguiente operación de BulkCopy :

// Convert the FlexGrid to a DataTable.
DataTable currData = (DataTable)c1ErrFlexGrid.DataSource;

// Insert the data into the database.
SqlBulkCopy SqlBulkIns = new SqlBulkCopy(strConnString, SqlBulkCopyOptions.Default);
SqlBulkIns.BatchSize = 5000;
SqlBulkIns.DestinationTableName = String.Format("dbo.{0}", strTableName);
SqlBulkIns.WriteToServer(currData);

donde strConnectionString es una cadena de conexión definida y válida. Esto ha funcionado bien en el pasado cuando la tabla strTableName existe y los campos están definidos. Ahora deseo realizar esta operación de BulkCopy en un DataTable que se define en tiempo de ejecución; es decir, sin predefinir la estructura de la tabla en SQL. es posible? ¿Si es así, cómo?

Gracias por tu tiempo.

Respuesta aceptada

Podría usar este objeto SqlTableCreator para crear una tabla SQL a partir de su tabla de datos y luego ejecutar la inserción masiva.



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é