WriteToServer: la propiedad de conexión no se ha inicializado. error de sqlbulkcopy

c# sqlbulkcopy

Pregunta

ejecutando sqlbulkcopy en c # y me aparece un error: WriteToServer: la propiedad de conexión no se ha inicializado.

sucede en el comando WriteToServer. La conexión está abierta.

using (SqlBulkCopy s = new SqlBulkCopy(conn))
{
  foreach (DataTable dt in ds.Tables)
  {

    s.DestinationTableName = "tmp_" + dt.TableName;
    s.NotifyAfter = 5000;
    s.SqlRowsCopied += new SqlRowsCopiedEventHandler(s_SqlRowsCopied);
    s.WriteToServer(dt);
    s.Close();
  }
}

Código correcto:

using (SqlBulkCopy s = new SqlBulkCopy(conn))
{
  foreach (DataTable dt in ds.Tables)
  {
    s.DestinationTableName = "tmp_" + dt.TableName;
    s.NotifyAfter = 5000;
    s.SqlRowsCopied += new SqlRowsCopiedEventHandler(s_SqlRowsCopied);
    s.WriteToServer(dt);
  }
  s.Close();
}

Respuesta aceptada

De un vistazo, supongo que la primera pasada a través del bucle foreach está ejecutando correctamente, luego s.Close(); está limpiando la instancia de SqlBulkCopy y borrando su propiedad Connection , creando así la excepción en el segundo paso.



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é