2010-08-17 62 views
16

使用Microsoft SQL Server Management Studio Express連接到我們的SQL Server 2005(認爲它的2005,版本爲9.000的東西)。我有一個表格,其中有一列可以節省大量文本。我已將列類型設置爲文本。當我在這一列中有很多文字的行時,我無法刪除它。當我嘗試刪除它時,我收到消息「字符串或二進制數據將被截斷」。如果我嘗試編輯該行,則會收到相同的消息。我該怎麼辦?當刪除行時,「字符串或二進制數據將被截斷」

相當可觀:我通過drop table修復它並重新創建它,但我想要一個解決方案!

回答

3

通常情況下,這種錯誤發生在將長值插入無法存儲的列中時。檢查是否沒有任何觸發器或任何相關邏輯可以在刪除該行時代表您(例如,用於記錄目的/審計跟蹤)

+1

我的列類型是ntext,這發生在我想刪除行時...看最後一句,更新 – 2010-08-18 05:47:31

+0

我有完全相同的問題。我既不能更改該值也不能刪除該行,也不能使用'ntext'字段。 – 2010-10-14 11:53:31

+1

我有同樣的問題,沒有沒有觸發器。 – newbie 2011-01-25 07:23:18

22

雖然我遲到了派對,我檢查了原始海報對問題的描述,這聽起來像是他們試圖從表格編輯器界面中刪除該行。我剛剛在一個包含長文本「text」列的表中遇到了同樣的問題,看起來問題實際上可能與編輯器本身的限制有關。從我自己的調查中看來,您將無法編輯文本列超過4000個字符的行。我使用SSMS 2008 R2進行測試。

希望這會幫助其他人遇到此錯誤。

+1

在這種情況下,我通過SQL查詢刪除了該記錄,接下來我添加了一個新的更正的長文本數據。 – Bronek 2014-10-10 13:08:00

+1

謝謝你發佈這個,Ted。試圖在編輯器界面中將位字段更改爲0時出錯,所以我非常困惑。這對我來說也是一個問題。 – BobRodes 2014-11-03 14:36:19

1

我改變了我的數據類型爲nvarchar(MAX),並能夠編輯和刪除,因爲我認爲合適。

10

我有同樣的問題,解決了... 選擇前200行的表後,點擊「顯示條件窗格中」(工具欄的左側) 現在取消您ntext列(列抱着一個大的文本你正在談論) 現在你可以刪除或更新任何行:)

+0

Visual Studio 2013:按Ctrl + 2或在結果窗格中右鍵單擊,然後選擇窗格>條件以顯示條件窗格。現在清除列的輸出標誌,您應該可以刪除該行。 – 2016-06-15 09:02:00

相關問題