Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tsql 数据类型的隐式转换';文本';至';瓦查尔';这是不允许的。使用CONVERT函数运行此查询_Tsql_Stored Procedures_Sybase - Fatal编程技术网

Tsql 数据类型的隐式转换';文本';至';瓦查尔';这是不允许的。使用CONVERT函数运行此查询

Tsql 数据类型的隐式转换';文本';至';瓦查尔';这是不允许的。使用CONVERT函数运行此查询,tsql,stored-procedures,sybase,Tsql,Stored Procedures,Sybase,我将在存储过程中放入几个insert查询。insert查询独立运行良好,没有任何问题,如: 不允许从数据类型“TEXT”隐式转换为“VARCHAR” 但是当sp运行时,它会对3个查询给出上述错误。 选中所有列,其中非文本类型。 如果有人遇到过这个问题,任何线索都会有所帮助 看来问题根本不在于存储过程。当输入超过8000个字符时会发生错误。SQL Server 2000没有VARCHAR(MAX),VARCHAR的最大长度为8000。因此,如果您试图向sp传递更长的字符串,它需要转换为文本,但不能

我将在存储过程中放入几个insert查询。insert查询独立运行良好,没有任何问题,如:

不允许从数据类型“TEXT”隐式转换为“VARCHAR”

但是当sp运行时,它会对3个查询给出上述错误。 选中所有列,其中非文本类型。
如果有人遇到过这个问题,任何线索都会有所帮助

看来问题根本不在于存储过程。当输入超过8000个字符时会发生错误。SQL Server 2000没有VARCHAR(MAX),VARCHAR的最大长度为8000。因此,如果您试图向sp传递更长的字符串,它需要转换为文本,但不能是隐式转换,因此您需要一个TEXT类型的参数。当然,您需要更改sp,并且有许多操作无法在此数据类型的列上执行,因此您可能无法实际执行所需操作。

如果没有看到您的代码,我们实在帮不上什么忙。我会仔细检查以确保您的SP没有过载您的VARCHAR。如果试图将比声明要处理的VARCHAR更多的字符放入VARCHAR,则有时会发生此错误。