2015-02-24 80 views
1

我试图使用SqlBulkCopy上传数据表到SQL Server中。ASP.NET VB SqlBulkCopy字符串或二进制数据将被截断

我得到这个错误:

String or binary data would be truncated.

我使用

sqlBulkcopy.WriteToServer(dtCustom) 

SQL Server列定义为nvarchar(50)

我改变了列nvarchar(150)和同样的问题

此行正在导致问题进口:

Enter the Location of Inspection 

该生产线是32个字符

如果我“上”,那么它的工作原理和进口删除。

所以,这是怎么回事定义为nvarchar(50)和32个字符的数据进入它的SQL Server表列?

任何想法?

+0

是你的列在源和目的地相同的顺序? – jmcilhinney 2015-02-24 22:00:27

+0

数据来自XML文件。列在相同的顺序读取。但接下来的XmlNode,这个后,是不是添加到表在所有。 将XML读入数据表(dtCustom)。然后将数据表复制到SQL表中。 – jslist 2015-02-25 16:08:32

+0

我有类似的问题。当你说:“如果我删除了”,那么它就起作用并导入。“,这是什么意思? – costa 2017-01-26 01:38:48

回答

1

列必须映射。即使数据表具有与SQL表相同的列名 - 在asp.net vb编码中,您仍然需要执行列映射。

+0

添加映射也为我修复了它。 – costa 2017-01-26 02:33:58

相关问题