【问题标题】:Error 'String or binary data would be truncated' in Microsoft SQLMicrosoft SQL 中的错误“字符串或二进制数据将被截断”
【发布时间】:2016-08-29 07:21:05
【问题描述】:

向 Microsoft SQL 插入数据时出现此错误。

错误: ('22001', '[22001] [Microsoft][ODBC Driver 13 for SQL Server][SQL Server]字符串或二进制数据将被截断。(8152) (SQLParamData); [01000] [Microsoft] [ODBC Driver 13 for SQL Server][SQL Server]语句已终止。(3621)')

仅供参考,我使用 Python 2.7 和 pyodbc 库。

那个错误是关于什么的?我该怎么解决?

【问题讨论】:

  • 问题是?
  • 已更新。如果可以,请撤消反对票,因为我已经更新了它。谢谢
  • 我没有投反对票,所以无法撤消。
  • 错误信息说明了一切,您尝试复制的数据太大而无法适应目标,因此数据被截断。现在你必须找到失败的分配,并以某种方式调整它。

标签: python sql sql-server database python-2.7


【解决方案1】:

基于此链接:http://www.sql-server-performance.com/2007/string-or-binary-data-truncated/

当您尝试插入一个字符数超过该列所能容纳的最大字符数的字符串时,会出现此错误消息。

【讨论】:

  • 我已经引用了精华。我只是参考链接以纪念原作者
【解决方案2】:

使用以下步骤找出问题所在。 在您的插入语句中,使用“LEN”函数查找输入列的长度。

假设您从临时表中选择数据进行输入。 使用以下查询找出该列的最大大小,并与原始表(您要插入数据的表)中列的实际大小进行比较。

    SELECT MAX(LEN(column1))
    FROM #yourInputData

【讨论】:

    猜你喜欢
    • 2017-09-10
    • 1970-01-01
    • 1970-01-01
    • 2015-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多