0
在Windows Server 2008上的SQL Server 2008上,我有下面的查詢並執行,我得到舊的'字符串或二進制數據將被截斷'。字符串或二進制數據將被截斷 - 整數?
但是,這裏真正奇怪的是,如果我將最後一個字段值(isOrganiser)更改爲2和9之間,它運行良好。如果我將114841更改爲114741(並且該模式繼續),則是同樣的事情。所以這個問題是由整數字段引起的?或位字段?什麼?
所以我很難過。幾個額外的信息位:
- 一些int列有索引 - 我已禁用它們所有,我得到同樣的問題。
- 此查詢運行遍佈在此的其他應用程序的地方,從未有過一個問題 - 唯一不同,這裏也許是記錄的數量
- 雖然ID是FK的,約束不在SQL
- 執行
此表具有一個ID列(100001種子和+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, '[email protected]', 0 );
桌子上有觸發器嗎? 'emailAddress'的數據類型(包括長度)是什麼,'isOrganiser'是什麼? 「allowNext ...觸發器」列的用途是什麼?此表是否也嵌套觸發器?這難道不是可能發生在這些觸發器的某處嗎? – 2013-03-19 00:57:57
@Aaron Bertrand你是對的。它發生在父表5上的觸發器上。我不敢相信我沒有想到跟着它走下去。非常感謝指針! 另外,我在這裏還是一個新東西 - 將這個答案表達爲答案但將它歸因於你的正確禮儀是什麼? – 2013-03-19 12:10:34
我已經發布我的猜測作爲答案。很高興我是對的,這有幫助。你怎麼陷害這個錯誤?該錯誤消息可能包括ERROR_PROCEDURE,儘管它的名稱 - 它會告訴你哪個觸發器發生錯誤。 – 2013-03-19 12:57:56