我有一个存储过程
create or replace procedure aaaa(
id number,oflag out char,
strxml out long,-- 返回字符串很长
ossmsg out varchar2
)
---java 调用
cs=conn.prepareCall("{call aaaa(?,?,?,?) }");
cs.setLong(1, id.longValue());
cs.registerOutParameter(2, java.sql.Types.VARCHAR);
cs.registerOutParameter(3, java.sql.Types.LONGVARCHAR); //
cs.registerOutParameter(4, java.sql.Types.VARCHAR); String xml=cs.getString(3);
System.out.print(xml);
----
程序执行结果 当 反馈结果长度大于4-5千 时,只能得到部分返回字符串。。不会报错,但是结果不对。大家帮忙看看有什么好方法??
create or replace procedure aaaa(
id number,oflag out char,
strxml out long,-- 返回字符串很长
ossmsg out varchar2
)
---java 调用
cs=conn.prepareCall("{call aaaa(?,?,?,?) }");
cs.setLong(1, id.longValue());
cs.registerOutParameter(2, java.sql.Types.VARCHAR);
cs.registerOutParameter(3, java.sql.Types.LONGVARCHAR); //
cs.registerOutParameter(4, java.sql.Types.VARCHAR); String xml=cs.getString(3);
System.out.print(xml);
----
程序执行结果 当 反馈结果长度大于4-5千 时,只能得到部分返回字符串。。不会报错,但是结果不对。大家帮忙看看有什么好方法??
楼主【kafeiwudi】截止到2008-07-23 00:34:48的历史汇总数据(不包括此帖):
发帖的总数量:6 发帖的总分数:60 每贴平均分数:10
回帖的总数量:9 得分贴总数量:2 回帖的得分率:22%
结贴的总数量:6 结贴的总分数:60
无满意结贴数:3 无满意结贴分:45
未结的帖子数:0 未结的总分数:0
结贴的百分比:100.00% 结分的百分比:100.00%
无满意结贴率:50.00 % 无满意结分率:75.00 %
敬礼!
--搞清楚基础知识再来回答问题,long 在 oracle 里面是长字符串,长度可以达到2G,varchar 只有 40000字节,也就是说只能存2000个字符。