0

我有一个 SqlBulkCopy 操作,它从 MS-Access 2007 数据库(通过 OleDbConnection)获取数据并使用 SqlBulkCopy 将该数据传输到 SQL Server 数据库。这以前一直有效,并继续适用于一个 MS-Access 数据库,但不适用于另一个。

我收到错误消息:

超时已过。在操作完成之前超时时间已过或服务器没有响应。

很难相信这是一个超时,因为 oledbCommand.CommandTimeout = 0 sqlBulkCopy.BulkCopyTimeout = 0 并且在任一侧(MS-Access 和 SQL Server 的超时现在已设置为 0)。

是否存在上述错误消息可能隐藏的其他问题/异常?有没有办法确定 sqlBulkCopy.WriteToServer 异常的根本原因是什么(似乎没有任何内部异常等......)

4

1 回答 1

1

所以问题是有日期被转移,其中一些日期对 SQL 无效,但在 Access 中有效。无论出于何种原因,这都显示为 Timeout 而不是“无效的日期/时间”——尽管如果您将传输的数据减少到少数行 (200) 而不是完整传输 (500,000),它会报告为 invalid date/time 。 .. 好奇的。

于 2012-06-26T03:11:04.277 回答