来自数据源的 String 类型的给定值不能转换为指定目标列的类型 nvarchar

来源:互联网 发布:python 列表变元组 编辑:程序博客网 时间:2024/05/18 03:26

这个错误一般来自 SqlBulkCopy .

今天发现这个问题, 但昨天都测试过没问题, 真是百思不得解。

网上一般的说法就是列没有匹配正确, 仔细比对了所有的列序, 没有问题。

虽然没有主动匹配列名,但源的SQL中列出了的列名顺序和目标表的是一致的, 而且昨天能正确运行, 说明应该不是这里的问题。

后来右键将源表的创建SQL和目标表的SQL分别保存在两个txt文件里,再用 BeyondCompare 文件比较器比较一下, 立马就看到区别了:

有一个字段:源的类型是 nvarchar(50), 目标是 nvarchar(max), 源那边可能是有其它开发人员改动过了。

应该是昨天测试时记录中的长度较小所以没问题,而今天正好碰到内容超过了50的记录,所以出错了……

不过觉得微软这里的错误提示确实还是不够具体, 排除bug比较麻烦。

阅读全文
0 0
原创粉丝点击