日期:2014-05-19  浏览次数:20577 次

sqlserver 2005 的varchar(max) 怎么多余8000会出错
我的论坛帖子的内容是用varchar(max)类型存储的,因为用的是在线编辑器,提交的都是html数据,出现错误

传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确。参数   9   ( "@content "):   数据类型   0xA7   的数据长度或元数据长度无效。

我原以为是html数据的问题,最后发现无论从什么地方截取,只要数据不要太多,就好了,最后测试,4000个中文,刚好可以,多一个就坏了,为什么

------解决方案--------------------
varchar最多可容纳8000字符,也就是4000汉字,多了就冒了
------解决方案--------------------
varchar(max)确实可以存储2GB的字符

你的问题是你前台传进去的参数的最大长度限制了
你看这个参数@content

在C#里面string类型只能储存8000的字符

你可以使用StringBuilder
------解决方案--------------------
学习
------解决方案--------------------
最多放8000个,除非换别的类型字段,比如text型.