我正在编写一个小实用程序来将数据库从专有的ODBC数据库复制到SQL Server数据库中。一切都在工作很大,除非我使用Sqlbulkcopy来复制数据。它在大多数情况下工作,但不是在尝试将时间字段复制到SQL DateTime时。我收到此错误:

从数据源的Timespan的给定值无法转换为类型指定目标列的DateTime。

当我在SQL Server中创建架构时,我必须在SQL Server中制作日期和时间字段DateTime类型,因此它没有办法。我想使用Sqlbulkcopy,所以我不必手动阅读每个表中的每一个记录并在特殊情况下缠绕逻辑。在我走下路之前,还有另一种方式我可以做到吗?我根本没有控制源数据库模式或内容。

有帮助吗?

解决方案

我假设您正在处理Pre-SQL Server 2008. SQL Server 2008具有日期和时间数据类型。

我认为您必须使用与SQL Server Schema匹配的DataTable并通过添加日期信息(例如1/1/1900),适当地更改日期时间的随时更改数据。然后使用writetoserver(DataTable)。您可能希望批量进行这样做,因为您可以使用一堆内存读取它全部化为DataTable。

您无法使用SSIS的任何特定原因?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top