Tengo una operación SqlBulkCopy que toma datos de una base de datos de MS-Access 2007 (a través de OleDbConnection) y usa SqlBulkCopy para transferir esos datos a una base de datos de SQL Server. Esto ha estado funcionando anteriormente y continúa funcionando para una base de datos de MS-Access, pero no para la otra.
Me sale el mensaje de error:
Tiempo agotado. El período de tiempo de espera transcurrido antes de la finalización de la operación o el servidor no responde.
Es difícil creer que es un tiempo de espera para el oledbCommand.CommandTimeout = 0 el sqlBulkCopy.BulkCopyTimeout = 0 y en ambos lados (MS-Access y SQL Server, los tiempos de espera ahora se han establecido en 0).
¿Hay otros problemas / excepciones que el mensaje de error anterior podría estar ocultando? ¿Hay alguna manera de determinar cuál es la causa base de una excepción sqlBulkCopy.WriteToServer (no parece haber ninguna excepción interna, etc.)
Entonces, el problema era que había fechas que se transferían y algunas de esas fechas no eran válidas para SQL, pero eran válidas en Access. Por cualquier motivo, esto se presentó como un tiempo de espera en lugar de "fecha / hora no válida", aunque si reduce los datos que se transfieren a un puñado de filas (200) en lugar de la transferencia completa (500,000), se informa como fecha / hora no válida. .. curioso.