2012-07-05 506 views
1

我在我的一個SQL Server 2000存儲過程中出現上述錯誤。這裏我不使用類型爲ntext的任何變量。我不知道爲什麼我得到這個錯誤。有人可以幫忙嗎?不允許從數據類型ntext到varchar的隱式轉換。使用CONVERT函數來運行這個查詢

+0

你可以發佈產生錯誤的代碼嗎? – Taryn 2012-07-05 19:46:33

+0

您可能沒有使用數據類型爲「NTEXT」的變量,但您肯定試圖從NTEXT到「VARCHAR」的列執行隱式轉換,錯誤非常明顯。如果您需要更多幫助,請發佈您的sp以及它使用的表格的結構 – Lamak 2012-07-05 19:52:41

+0

@bluefeet附加信息。我有一個SP的varchar(8000)參數。只有當輸入超過8000個字符時纔會出現此錯誤。有關在這種情況下使用什麼數據類型的任何建議? – Muthukumar 2012-07-05 19:56:48

回答

4

看來問題根本不在於存儲過程。正如您在評論中所說的,當輸入超過8000個字符時會發生錯誤。 SQL Server 2000沒有VARCHAR(MAX)VARCHAR的最大長度是8000.所以,如果你嘗試傳遞一個更長的字符串到你的sp,它需要做一個轉換到TEXT,但它不能是一個隱式轉換,所以你需要一個類型爲TEXT的參數。當然,你需要改變你的sp,並且在這個數據類型的列上有許多操作是無法完成的,所以你可能無法真正做到你想要的。

相關問題