Ich habe eine SqlBulkCopy-Operation, die Daten aus einer MS-Access 2007-Datenbank (über OleDbConnection) und SqlBulkCopy, um diese Daten an eine SQL Server-Datenbank zu übertragen. Dies hat zuvor funktioniert und funktioniert weiterhin für eine MS-Access-Datenbank, aber nicht für die andere.
Ich bekomme die Fehlermeldung:
Zeitüberschreitung. Das Zeitlimit ist vor dem Abschluss des Vorgangs abgelaufen oder der Server reagiert nicht.
Es ist schwer zu glauben, dass es sich um ein Timeout im oledbCommand.CommandTimeout = 0 sqlBulkCopy.BulkCopyTimeout = 0 handelt und auf beiden Seiten (MS-Access und SQL Server wurden die Timeouts jetzt auf 0 gesetzt).
Gibt es andere Probleme / Ausnahmen, die die obige Fehlermeldung möglicherweise verbergen? Gibt es eine Möglichkeit festzustellen, was die Ursache für eine sqlBulkCopy.WriteToServer-Ausnahme ist (es scheint keine inneren Ausnahmen usw. zu geben)
Das Problem war also, dass Daten übertragen wurden und einige dieser Daten für SQL ungültig waren, aber in Access gültig waren. Aus irgendeinem Grund wurde dies als Timeout und nicht als "ungültiges Datum / Uhrzeit" angezeigt. Wenn Sie jedoch die Daten auf eine Handvoll Zeilen (200) und nicht auf die vollständige Übertragung (500.000) reduzieren, wird dies als ungültiges Datum / Uhrzeit angezeigt. .. neugierig.