本文介紹了是否將SQL Server NText字段限制為43,679個字符?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
我使用SQL Server數據庫來存儲非常長的Unicode字符串。該字段來自類型‘nText’,理論上應該限制為2^30個Unicode字符。
發件人MSDN documentation:
nText
可變長度的Unicode數據,最大字符串長度為2^30-1(1,073,741,823)字節。存儲大小(以字節為單位)是輸入的字符串長度的兩倍。NText的ISO同義詞是National
文本。
我做了這個測試:
生成50,000個字符的字符串。
運行更新SQL語句
更新[表]
設置響應=‘…50,000個字符串…‘
Where ID=‘593BCBC0-EC1E-4850-93B0-3A9A9EB83123’
檢查結果–末尾的字段中實際存儲的內容。
結果是[Response]字段僅包含43,679個字符。字符串末尾的所有字符都被拋出。
為什么會發生這種情況?我如何修復此問題?
如果這確實是此數據類型(NText)的容量限制,哪種數據類型可以存儲更長的Unicode字符串?
推薦答案
根據我所見,您可能只能復制43679個字符。它存儲所有字符,它們在數據庫中(用Select Len(Response)from[TABLE]WHERE檢查這一點…以驗證這一點),并且SSMS在復制時遇到的問題比您查看完整數據時更多。
這篇關于是否將SQL Server NText字段限制為43,679個字符?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,