我在表中有一个字段,我想存储一个可能很长的错误字符串。为此,我选择了 varchar(MAX) 作为数据类型。我创建了一个存储过程,用于在表中输入该数据,对于字段“ErrorDescription”,我使用了以下参数定义。
@ErrorDescription as varchar(MAX)
问题出在调用存储过程以记录错误的 ADO 过程中(在 Access 2003 中)。我将错误描述作为字符串值并尝试将其分配给参数...
cmd.Parameters("@ErrorDescription").Value = errorDescription
但它失败并出现以下错误。
“参数对象定义不正确”
如果我将存储过程定义更改为...
@ErrorDescription as varchar(255)
然后一切正常。如何定义存储过程参数以接受可能很长的字符串?是否varchar(MAX)
使用了错误的数据类型?谢谢你。
编辑我应该提到我正在使用的 SQL Server 版本。我正在使用 SQL Server 2008。