【发布时间】:2011-07-26 05:15:14
【问题描述】:
我有一个接受 VARCHAR(MAX) 类型参数的 SQL 存储过程。 据我所知,根据我所读到的所有信息,此类字符串的最大大小为 2GB: MSDN
由于某种原因,当传递大于 8KB 的字符串时,我得到:
字符串或二进制数据将被截断。
为什么我会收到此错误消息,我该如何解决?
【问题讨论】:
-
建议您发布存储过程和调用代码
-
你能发布剩下的过程吗?它可能与该参数无关。
-
确实文档不清楚;似乎限制是 8k,除非你写“max”......但是,我知道使用 oracle dbms 是 varchar 限制为 4k;我可能错了,我没有仔细检查过,我更喜欢 clob/blob 来处理任意大的数据
-
抱歉误报,当开始复制程序时,我看到了一些奇怪的东西(将字符串复制到错误的参数)......所以,问题解决了。 10 倍很多