不允许从数据类型ntext到varchar的隐式转换。使用CONVERT函数运行此查询

时间:2012-07-05 19:43:19

标签: sql-server stored-procedures sql-server-2000

我的一个SQL Server 2000存储过程中出现上述错误。在这里,我不使用类型为ntext的任何变量。我不知道为什么会出现这个错误。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:4)

似乎问题不在于存储过程。正如您在评论中所说,输入超过8000个字符时会发生错误。 SQL Server 2000没有VARCHAR(MAX)VARCHAR的最大长度为8000.因此,如果您尝试将更长的字符串传递给sp,则需要转换为{{1} },但它不能是隐式转换,因此您需要一个类型为TEXT的参数。当然,您需要更改sp,并且有许多操作无法在此数据类型的列上完成,因此您可能无法实际执行所需的操作。