51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4769|回复: 4
打印 上一主题 下一主题

[原创] Oracle 2-Tier怎样获取到存储过程的返回值?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-9-3 12:08:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
存储过程如下,两个输入参数、两个输出参数:
begin
  -- Call the procedure
   p_test(o_ret_code => : o_ret_code,
           o_ret_msg  => : o_ret_msg,
           ac_i_tid   => :ac_i_tid,
           ac_i_note  => :ac_i_note);
end;
LR脚本如下,
lrd_ora8_stmt(OraStm1, "BEGIN p_test(:v_code,:v_msg,'7','7777'); END;",1, 0, 0);
lrd_assign(&P1D10, 0, 0, 0, 0);
lrd_ora8_bind_placeholder(OraStm1, &OraBnd3, "1", &P1D10,LRD_BIND_BY_POS, 0, 0);
lrd_assign(&P2D11, 0, 0, 0, 0);
lrd_ora8_bind_placeholder(OraStm1, &OraBnd2, "2", &P2D11,LRD_BIND_BY_POS, 0, 0);
lrd_ora8_attr_set(OraBnd2, CHARSET_FORM, "1", -1, 0);

lrd_ora8_exec(OraSvc1, OraStm1, 1, 0,&rownum, 0, 0, 0, 0, 1);

问题是:怎么样才能获取得到:v_code,v_msg这两个参数,并在LR中打印出来? 请指教~
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2009-9-3 13:21:44 | 只看该作者
你的v_code,v_msg是输入参数还是输出参数,看你这样写的的话应该是输出参数,如果是输出参数的话为什么还需要知道获取它呢?至于具体的输出,可以使用相关的输出函数lr_output_message 或其他相关函数就可以了。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2009-9-3 14:00:46 | 只看该作者
多谢楼上的回复~

v_code,v_msg 是存储过程的输出值,现在要在 LR脚本中得到这两个值,如果直接使用
lr_error_message("sql result: %s", lr_eval_string("{v_code}")); 应该是不行的
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2009-9-3 16:38:09 | 只看该作者
输出数组,试试
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2010-4-21 11:40:40 | 只看该作者
还是没有解决阿
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-18 09:27 , Processed in 0.072935 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表