如果您查看此Microsoft文档文章:
在“备注”部分显示:
批量加载类型为DataTable的列时,SqlBulkCopy将失败 SqlDateTime插入类型为以下类型之一的SQL Server列 SQL Server 2008中添加的日期/时间类型。
我没有观察到这种现象(失败),并且想知道此文档是否可能已过时,并且SqlBulkCopy已更新为支持这些数据类型。
有关我的工作的更多详细信息:
一切正常。我没有失败。我什至尝试在数据表中传递“ 01/01/0001”日期(超出SQL datetime 类型的范围),并将其保存为数据库中的值。
我确实找到了这个已有8年历史的SO帖子:How can I set column type when using SqlBulkCopy to insert into a sql_variant column,但我没有使用 sql_variant ,在我的情况下,一切都没有失败。
有人可以澄清我引用的Microsoft文档是什么意思吗?
答案 0 :(得分:1)
将类型
SqlDateTime
的DataTable列批量加载到类型为SQL Server 2008中添加的日期/时间类型之一的SQL Server列中时,SqlBulkCopy将失败。
但是您将列的类型写为System.DateTime
-因此,此注释与您的代码无关。
换句话说,如果您是这样创建数据表的:
var dt = new DataTable();
dt.Columns.Add("date column", typeof(SqlDateTime));
// ... other columns here
这将与您的代码有关。