ASP.Net错误列表将截断字符串或二进制数据是怎么造成的?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ASP.Net错误列表将截断字符串或二进制数据是怎么造成的?相关的知识,希望对你有一定的参考价值。

参考技术A 字段定义时的长度短,而现在要写入的数据较长,就会出现这个问题,试试修改一下字段的长度。

插入时 SSIS 中的错误 - 字符串或二进制数据将被截断

【中文标题】插入时 SSIS 中的错误 - 字符串或二进制数据将被截断【英文标题】:Error In SSIS on insert - String or binary data would be truncated 【发布时间】:2017-01-15 04:49:08 【问题描述】:

我的 ssis 包中有一个我不理解的错误:

错误:InsertStudent 的 0xC0202009,InsertStudent [303]:SSIS 错误 代码 DTS_E_OLEDBERROR。发生 OLE DB 错误。错误代码: 0x80040E57。 OLE DB 记录可用。资料来源:“微软 SQL 服务器 Native Client 11.0" Hresult: 0x80040E57 描述: "The 语句已终止。”。有一条 OLE DB 记录可用。 来源:“Microsoft SQL Server Native Client 11.0”Hresult:0x80040E57 描述:“字符串或二进制数据将被截断。”。

错误:InsertStudent 的 0xC0209029,InsertStudent [303]:SSIS 错误 代码 DTS_E_INDUCEDTRANSFORMFAILUREONERROR。这 “InsertStudent.Inputs[OLE DB 命令输入]”失败,因为错误代码 0xC020906E 发生,错误行处理 “InsertStudent.Inputs[OLE DB 命令输入]”指定失败 错误。在指定的指定对象上发生错误 零件。在此之前可能会发布更多错误消息 有关失败的信息。

错误:InsertStudent 的 0xC0047022,SSIS.Pipeline:SSIS 错误代码 DTS_E_PROCESSINPUTFAILED。组件上的 ProcessInput 方法 "InsertStudent" (303) 失败,错误代码为 0xC0209029,而 处理输入“OLE DB 命令输入”(308)。确定的 组件从 ProcessInput 方法返回错误。错误是 特定于组件,但错误是致命的,将导致 数据流任务停止运行。可能会发布错误消息 在此之前提供有关失败的更多信息。

错误:InsertStudent 的 0xC0047022,SSIS.Pipeline:SSIS 错误代码 DTS_E_PROCESSINPUTFAILED。组件“Merge”上的 ProcessInput 方法 处理输入时加入" (406) 失败,错误代码为 0xC0047020 “合并左输入” (411)。已识别的组件返回一个 ProcessInput 方法的错误。该错误是特定于 组件,但错误是致命的,将导致数据流任务 停止运行。在此之前可能会发布错误消息 有关失败的更多信息。

【问题讨论】:

第三行是你要关注的那一行。通常,此错误很简单。您的源或目标列宽对于您尝试导入的数据来说太小了。此错误也可能意味着您有一个字符在代码页中不存在并且无法转换,即。页外或外来字符,如重音符号或波浪号。这些将是一个很好的起点。 【参考方案1】:

在我的情况下,此错误与数据库中不同长度的列有关。例如,如果您创建 Source DB,则需要确保每列都有足够的最大长度,并且不要将最大值(太长的值)放入该列。

所以很遗憾SSIS没有指定有问题的列,需要你自己去查找或者放大每一列的最大长度。

【讨论】:

【参考方案2】:

检查连接到OLE DB Command 转换的componentMERGE JOIN 转换的左侧输入,该组件的输入字符串的大小大于列大小,因此此处发生数据截断错误。

解决方案是固定该组件的数据长度或更改目标表结构(扩大列大小)。

【讨论】:

【参考方案3】:

您的一个输入值(大小)大于数据库表中定义的列大小。

很遗憾,错误消息并没有给出违规列的名称。我认为您很难解决此问题,方法是逐列查看值,直到 Microsoft 修复错误消息

请参阅 Microsoft Connect:Please fix the "String or binary data would be truncated" message to give the column name

...以及对

的所有评论

Why isn't “String or Binary data would be truncated” a more descriptive error?

【讨论】:

以上是关于ASP.Net错误列表将截断字符串或二进制数据是怎么造成的?的主要内容,如果未能解决你的问题,请参考以下文章

尝试插入时,错误、字符串或二进制数据将被截断

sql server,将截断字符串或二进制数据,如何知道出错在哪个字段?

sql怎么插入日期类型数据报将截断字符串或二进制数据

怎么解决过程中提示:将截断字符串或二进制数据?

用户将在 SQL Server 中截断字符串或​​二进制数据

SQLException : 字符串或二进制数据将被截断