51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1339|回复: 0
打印 上一主题 下一主题

[原创] 使用LR测试oracle出现参数未初始化的问题,求助!

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-1-29 11:10:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
今天使用loadrunner测试oracle,采用网上说明的方法,脚本如下:
  1. #include “lrd.h”
  2. static LRD_INIT_INFO InitInfo={LRD_INIT_INFO_EYECAT};
  3.   static LRD_DEFAULT_DB_VERSION DBTypeVersion[]={{LRD_DBTYPE_NONE,LRD_DBVERSION_NONE}};
  4. static LRD_VAR_DESC NUM ={LRD_VAR_DESC_EYECAT, 10, 32, LRD_DBTYPE_ORACLE, {1, 1, 0},DT_LONG_VARCHAR};
  5. static void FAR * OraEnv1;
  6.   static void FAR * OraSvc1;
  7.   static void FAR * OraSrv1;
  8.   static void FAR * OraSes1;
  9.   static void FAR * OraStm1;
  10.   static void FAR * OraDef1;
  11.   unsigned long rownum;
  12.   vuser_init()
  13.   {
  14.   //初始化数据库
  15.   lrd_init(&InitInfo,DBTypeVersion);
  16.   lrd_initialize_db(LRD_DBTYPE_ORACLE,3,0);
  17.   lrd_env_init(LRD_DBTYPE_ORACLE,&OraEnv1,0,0);
  18.   lrd_ora8_handle_alloc(OraEnv1,SVCCTX,&OraSvc1,0);
  19.   lrd_ora8_handle_alloc(OraEnv1,SERVER,&OraSrv1,0);
  20.   lrd_ora8_handle_alloc(OraEnv1,SESSION,&OraSes1,0);
  21.   //设置数据库名称,我的是oracle,odbc中连接数据库名称就是这个
  22.   lrd_server_attach(OraSrv1,"test",-1,0,0);
  23.   lrd_ora8_attr_set_from_handle(OraSvc1,SERVER,OraSrv1,0,0);
  24.   //用户名和密码
  25.   lrd_ora8_attr_set(OraSes1,USERNAME,"testuser",-1,0);
  26.   lrd_ora8_attr_set(OraSes1,PASSWORD,"testpwd",-1,0);
  27.   lrd_ora8_attr_set_from_handle(OraSvc1,SESSION,OraSes1,0,0);
  28.   lrd_session_begin(OraSvc1,OraSes1,1,0,0);
  29.   lrd_ora8_handle_alloc(OraEnv1,STMT,&OraStm1,0);
  30.     //这里写上你的sql语句(我主要是需要查询的结果,如果你是插入或修改记录就不用往后看了)
  31.   lrd_ora8_stmt(OraStm1,"select name from ce_receviablecharge where user_no = 2009070901",1,0,0);
  32.   //执行定义的sql,并且将结果行数返回到rownum中
  33.   lrd_ora8_exec(OraSvc1,OraStm1,0,0,&rownum,0,0,0,0,1);
  34.   //绑定该列
  35.   lrd_ora8_bind_col(OraStm1,&OraDef1,1,&NUM,0,0);
  36.   //设定保存列中的某个数据到row中,第二个参数为第几列,第三个参数为第几行(只能保存一个值),最后一个参数就是你想要保存到的parameter名称
  37.   lrd_ora8_save_col(OraStm1, 1, 1, 0, "result");
  38. return 0;
  39.   }
复制代码
直接这样执行,没有问题,而且看输出,应该是查询数据库成功了。但是我在最后加上一句:
  1. lrd_message(lrd_eval_string("{result}"));
复制代码
却出错了,提示我:Error: Parameter 'result': Parameter is not initialized.

哪位仁兄帮帮忙看看这是什么原因,我找了好久。。。感激不尽
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-18 19:31 , Processed in 0.078350 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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