asp使用存储过程获取输出参数值过长的问题
noto 2016-08-05 01:40:48 DIM CMD,RS
SET CMD = SERVER.CREATEOBJECT("ADODB.COMMAND")
WITH CMD
.ACTIVECONNECTION = conn 'conn是数据库连接
.COMMANDTEXT = "sp_List" '指定存储进程名
.COMMANDTYPE = 4 '表明这是一个存储进程
.PREPARED = TRUE '要求将SQL命令先行编译
.PARAMETERS.APPEND .CREATEPARAMETER("@str",200,2,8000) '输出
.PARAMETERS.APPEND .CREATEPARAMETER("@id",200,1,50,id)
SET RS =.Execute
END WITH
因为 @str 返回了JSON,该值会超出varchar 8000字节的限制而截断。
试了是使用 .PARAMETERS.APPEND .CREATEPARAMETER("@str",201,2,8000) 201这个text数据类型,就没输出了
另外,我使用的是MSSQL 2016,
这个JSON 是 使用 SELECT * FROM TABLE FOR JSON PATH 得来的。
当前是用 SET @str = (SELECT * FROM TABLE FOR JSON PATH ) 来返回输出参数值,是否有更好的方法把JSON传给ASP