我在表中有一个字段,我想要存储一个可能长的错误字符串。为此,我选择了varchar(MAX)作为数据类型。我创建了一个用于在表中输入数据的存储过程,并为字段“ErrorDescription”创建了一个存储过程,我使用了以下参数定义。SQL Server varchar(MAX)参数导致“参数对象定义不正确”
@ErrorDescription as varchar(MAX)
问题是在调用存储过程记录错误的ADO过程(在Access 2003中)内。我将错误描述作为字符串值并尝试将其分配给参数...
cmd.Parameters("@ErrorDescription").Value = errorDescription
但它失败,并显示以下错误。
“Parameter对象未正确定义”
如果我更改存储过程定义...
@ErrorDescription as varchar(255)
然后一切运作良好。我如何定义存储过程参数来接受可能很长的字符串? varchar(MAX)
是否使用错误的数据类型?谢谢。
编辑我应该提到我使用的SQL Server版本。我正在使用SQL Server 2008.
什么版本的sql server? – JNK 2010-10-18 16:47:16
是否可以使用varchar(max)字段作为参数?我不知道这个... – 2010-10-18 18:37:29
@Phillipe - 它在2005+ – JNK 2010-10-18 18:43:53