我正在从存储过程(在SQL Server 2008中)返回静态字符串,如下所示: 通用标签

如果静态字符串长度超过某个限制(例如:8kb),则仅部分字符串(例如:7kb)返回到.net应用。

尽管我尝试了多种方式,例如将静态字符串分配给varchar(max)并选择了变量,但仍然只返回部分字符串。

我应该返回最大为5mb的完整字符串。因此,主要关注点:

  1. 我可以从存储过程返回的最大字符串长度是多少
  2. 如何将5 mb的字符串从存储过程返回到.net应用。

    我要求有人可以帮助我解决此问题。 请在下面找到代码 通用标签

    预先感谢极客。

有帮助吗?

解决方案 2

感谢您的支持,我在此找到了1个解决方案 http://www.sqlservercentral.com/Forums/Topic350590-145-1.aspx

修正是,声明一个变量,应将其初始化为空字符串并与主字符串连接。 通用标签

如果字符串长度为<8000,则无需上述方法即可工作。

谢谢。

其他提示

由于您看起来不使用OLEDB连接(具有8K限制),我认为问题是您的过程代码。

或者,或许,数据库的兼容性版本被设置为SQL Server 2008以外的某些东西(SQL Server 2000无法使用GetString()返回超过8K)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top