Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 字符串或二进制数据将被截断-整数?_Sql_Sql Server 2008 - Fatal编程技术网

Sql 字符串或二进制数据将被截断-整数?

Sql 字符串或二进制数据将被截断-整数?,sql,sql-server-2008,Sql,Sql Server 2008,在SQL server 2008和Windows server 2008上,我有下面的查询,在执行时,我得到了旧的“字符串或二进制数据将被截断” 但是,这里真正奇怪的是,如果我将最后一个字段值(isOrganiser)更改为2到9之间,它运行正常。如果我将114841更改为114741(并且该模式继续),情况也是一样的。那么问题是由整数字段引起的?还是位字段?什么 所以我被难住了。一些额外的信息: 一些int列有索引——我已经禁用了它们,并且遇到了相同的问题 这个查询在这个应用程序和其他应用程序

在SQL server 2008和Windows server 2008上,我有下面的查询,在执行时,我得到了旧的“字符串或二进制数据将被截断”

但是,这里真正奇怪的是,如果我将最后一个字段值(isOrganiser)更改为2到9之间,它运行正常。如果我将114841更改为114741(并且该模式继续),情况也是一样的。那么问题是由整数字段引起的?还是位字段?什么

所以我被难住了。一些额外的信息:

  • 一些int列有索引——我已经禁用了它们,并且遇到了相同的问题
  • 这个查询在这个应用程序和其他应用程序中到处运行,从来没有出现过问题-这里唯一不同的可能是记录的数量
  • 虽然ID是FK,但在SQL中不强制约束
  • 此表有一个ID列(100001 seed和+1增量)-每次执行错误时,都不会插入任何记录,但插入的下一条记录的ID会增加,就像插入了上一个错误一样

    INSERT INTO [emailRecipient] (
        [recordTitle], 
        [createdByID], 
        [canUpdate], 
        [canDelete], 
        [isDeleted], 
        [canRemove], 
        [drsQuickSummary],
        [drsSummary], 
        [isEditLocked], 
        [sourceRID], 
        [insertIndex], 
        [isSaved], 
        [allowNextInsertTrigger],
        [allowNextUpdateTrigger], 
        [allowNextDeleteTrigger], 
        [emailRID], 
        [personID], 
        [organisationID],
        [emailAddressID], 
        [emailAddress], 
        [isOrganiser]
    )
    
    VALUES (
        '', 
        100002, 
        1, 
        1, 
        0, 
        0, 
        '', 
        '',
        0,
        '', 
        1, 
        1, 
        1, 
        0, 
        0, 
        100753, 
        102969, 
        114841, 
        102434, 
        'me@myplace.com', 
        0
    );
    

  • 我怀疑截断发生在你的一个触发器中


    哦,还有5个触发器?我怀疑这里可能会发生一些优化。:-)

    桌子上有扳机吗?
    emailAddress
    的数据类型是什么(包括长度),以及
    isOrganiser
    的数据类型是什么?
    allowNext…Trigger
    列的用途是什么?这个表也有嵌套触发器吗?难道这个错误不可能发生在这些触发器的某个地方吗?@Aaron Bertrand你是对的。它发生在父表上的一个触发器上,表5的触发器距离。真不敢相信我没想到会沿着小路走下去。非常感谢你的指点!另外,我在这里还是个新手——把这个问题作为回答,但把它归因于你,正确的礼节是什么?我已经把我的猜测作为答案贴出来了。很高兴我是对的,而且这很有帮助。您是如何捕获错误的?错误消息可能包括error_过程,该过程(不管名称如何)将告诉您发生错误的触发器。