存储过程定义如下:
PROCEDURE GetPropJsonStr
@UserId varchar(10),
@LeibieId varchar(12),
@out_var nvarchar(4000) OUTPUT------------------------------------------
Java代码如下:
cstmt = _connection.prepareCall("EXECUTE " + procSQL_GetPropJsonStr);
cstmt.setString(1, condition.getUserid());
cstmt.setString(2, condition.getLeibieID());
cstmt.registerOutParameter(3, java.sql.Types.VARCHAR); //问题点??
cstmt.execute();System.out.println(cstmt.getString(3));
现象:
存储过程,在分析其中测试通过,返回值约 2532 个字节(中间包含有几个中文字)。
---------------------华丽分割---------------------
但是: System.out.println(cstmt.getString(3)); 只能打印出 2104 个字节。
返回值,取到jsp上,alert出来后,仍然是 2104 个字节的东西。
问题::
究竟哪里出问题了??百思不得其解!!
PROCEDURE GetPropJsonStr
@UserId varchar(10),
@LeibieId varchar(12),
@out_var nvarchar(4000) OUTPUT------------------------------------------
Java代码如下:
cstmt = _connection.prepareCall("EXECUTE " + procSQL_GetPropJsonStr);
cstmt.setString(1, condition.getUserid());
cstmt.setString(2, condition.getLeibieID());
cstmt.registerOutParameter(3, java.sql.Types.VARCHAR); //问题点??
cstmt.execute();System.out.println(cstmt.getString(3));
现象:
存储过程,在分析其中测试通过,返回值约 2532 个字节(中间包含有几个中文字)。
---------------------华丽分割---------------------
但是: System.out.println(cstmt.getString(3)); 只能打印出 2104 个字节。
返回值,取到jsp上,alert出来后,仍然是 2104 个字节的东西。
问题::
究竟哪里出问题了??百思不得其解!!
@out_var nvarchar(4000) OUTPUT
这个是 有问题
你的nvarchar(4000) output 好像是数据库有text 类型吧
用text 类型试试看
不会是你的太大了吧
希望对你有帮助 看你nvarchar(4000) 没有见过的
希望对你有点帮助
^_*