在做一个多维报表项目时,有个方法传递了一个长字符串的参数,运行时报错:传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确。数据库中数据类型为text,可以存储长字符串,所以在代码中找到问题。
长字符串的参数定义时候没有定义长度,默认8000长度,长度超出8000会报错
SqlParameter para = new SqlParameter("@strModel", SqlDbType.VarChar);
将参数定义代码修改如下
SqlParameter para = new SqlParameter("@strModel", SqlDbType.VarChar , -1);
定义长度为-1即为最大长度。问题解决。