可以从SQL Server 2008中的存储proc返回到.net应用程序的最大字符串长度
-
29-10-2019 - |
题
我正在从存储过程(在SQL Server 2008中)返回静态字符串,如下所示: 通用标签
如果静态字符串长度超过某个限制(例如:8kb),则仅部分字符串(例如:7kb)返回到.net应用。
尽管我尝试了多种方式,例如将静态字符串分配给varchar(max)
并选择了变量,但仍然只返回部分字符串。
我应该返回最大为5mb的完整字符串。因此,主要关注点:
- 我可以从存储过程返回的最大字符串长度是多少
- 如何将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)。
不隶属于 StackOverflow