"传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确" 异常

有一个输入参数类型为varchar(Max)的存储过程,使用如下SQL语句构造并为该参数赋值:

 SqlParameter parameters =  new SqlParameter("@SSQL", SqlDbType.VarChar);

当传递数据量过大时,出现异常:“传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确。参数 8 (""@SSQL""): 数据类型 0xA7 的数据长度或元数据长度无效。”

默认情况下不指定VarChar的大小时,最大只支持8000个字符。

解决方法:

修改为:SqlParameter parameters =  new SqlParameter("@SSQL", SqlDbType.VarChar , -1);

当指定为-1时,即对应VarChar(Max)。

你可能感兴趣的:(rpc)