我有一个强类型数据集,其中包含一个数据表,其中一个列作为 byte[] 列,我试图将其插入到 binary(4) 数据库表字段中。我可以毫无问题地设置 byte[] 列值,但是当我在数据表上运行 sqlbulkcopy 时收到以下异常:
“来自数据源的 Int32 类型的给定值无法转换为指定目标列的二进制类型。”
数据表是一个大型数据表,sqlbulkcopy 可以很好地处理数据表和数据库表减去 byte[]/binary(4) 列。以下是我插入的使用 .NET 2.0 破坏 SqlBulkCopy 的代码。
byte[] codeByteArray = GetByteArray();
dt.byteArrayCol = codeByteArray;
...
using(SqlBulkCopy bc = new SqlBulkCopy(conn))
{
bc.DestinationTableName = dt.TableName;
bc.WriteToServer(dt);
bc.Close();
}