0

我在 SQL Server 中有两列的简单表Id (BIGINT), PublishData (XML)

我有兴趣使用SqlBulkCopy,但是当我尝试使用时SqlBulkCopy.WriteToServer(DataTable),它给了我以下异常。当我SqlXml创建数据表并为PublishData. 我认为它与xmlSQL Server 中的列类型不匹配。我需要知道在为xml列创建数据表时需要使用的正确数据类型是什么,然后将其与SqlBulkCopy.

任何帮助,将不胜感激?

未处理的异常:System.InvalidCastException:指定的转换无效。
在 System.Data.SqlClient.TdsParser.WriteBulkCopyValue(对象值,SqlMetaData taPriv 元数据,TdsParserStateObject stateObj)
在 System.Data.SqlClient.SqlBulkCopy.WriteToServerInternal()
在 System.Data.SqlClient.SqlBulkCopy.WriteRowSourceToServer(Int32 columnCount )
在 System.
System.Data.SqlClient.SqlBulkCopy.WriteToServer(DataTable 表)处的Data.SqlClient.SqlBulkCopy.WriteToServer(DataTable 表,DataRowState ate rowState )

4

1 回答 1

1

需要知道在为 xml 列创建数据表时需要使用的正确数据类型,然后将其与 SqlBulkCopy 一起使用

把它绑起来而不是在这里问怎么样?我的意思是,说真的,有多少数据类型?

我建议您在 .NET 中尝试 STRING ;) 很明显,不是吗 - 您几乎无法将 XML 存储为 Bool 或 Integer 数据类型,所以我能看到的 SqlXml 的唯一替代品是字符串。

于 2012-07-08T08:51:15.060 回答