录制ORACLE协议

上一篇 / 下一篇  2008-09-26 17:26:38 / 个人分类:LoadRunner

     今天学习录制ORACLE协议的脚本,发现录制完成时,INIT/ACTION中东西都很多,上网查找了些资源,最终在原有录制脚本的环境下,修改了下脚本,简化了很多.

#include "lrd.h"

vuser_init()

{

//初始化数据库部分

lrd_init(&InitInfo, DBTypeVersion);

lrd_initialize_db(LRD_DBTYPE_ORACLE, 2, 0);

lrd_env_init(LRD_DBTYPE_ORACLE, &OraEnv1, 0, 0);

lrd_ora8_handle_alloc(OraEnv1, SVCCTX, &OraSvc1, 0);

lrd_ora8_handle_alloc(OraEnv1, SERVER, &OraSrv1, 0);

lrd_ora8_handle_alloc(OraEnv1, SESSION, &OraSes1, 0);

 

//连接数据库

lrd_server_attach(OraSrv1, "oolong", -1, 0, 0);

lrd_ora8_attr_set_from_handle(OraSvc1, SERVER, OraSrv1, 0, 0);

 

//设定数据库密码

lrd_ora8_attr_set(OraSes1, USERNAME, "scott", -1, 0);

lrd_ora8_attr_set(OraSes1, PASSWORD, "tiger", -1, 0);

 

//初始化连接session

lrd_ora8_attr_set_from_handle(OraSvc1, SESSION, OraSes1, 0, 0);

 

//开始连接数据库

lrd_session_begin(OraSvc1, OraSes1, 1, 0, 0);

return 0;

}

 

Action()

{

static LRD_VAR_DESC NUM =

  {LRD_VAR_DESC_EYECAT, 15, 23, LRD_DBTYPE_ORACLE, {1, 1, 0},DT_NUMERIC};

lrd_ora8_handle_alloc(OraEnv1, STMT, &OraStm1, 0);

 

//设定查询语句

lrd_ora8_stmt(OraStm1, "select count(*) NUM from test_scott t\n", 1, 0, 0);

lrd_ora8_attr_set(OraStm1, PREFETCH_ROWS, "0", -1, 0);

lrd_ora8_attr_set(OraStm1, PREFETCH_MEMORY, "0", -1, 0);

 

//执行查询语句

lrd_ora8_exec(OraSvc1, OraStm1, 0, 0, &uliRowsProcessed, 0, 0, 0, 0,

       0);

lrd_ora8_bind_col(OraStm1, &OraDef25, 1, &NUM, 0, 0);

         lrd_ora8_save_col (OraStm1, 1, 1, 0, "ROW");  

lrd_ora8_fetch(OraStm1, 1, 1, &uliFetchedRows, 0, 2, 0, 0);

 

lr_output_message("value : %s", lr_eval_string("The count is: {ROW}"));

return 0;

}

 

vuser_end()

{

 

lrd_session_end(OraSvc1, OraSes1, 0, 0);

lrd_server_detach(OraSrv1, 0, 0);

lrd_handle_free(&OraSrv1, 0);

lrd_handle_free(&OraSvc1, 0);

lrd_handle_free(&OraSes1, 0);

lrd_handle_free(&OraEnv1, 0);

return 0;

}

 

     ORACLE协议还有很多东西可以深究,比如在监控一个库时,我们一般要注意哪几个点,这个问题我还是不太明白,再研究吧~~~


TAG: LoadRunner loadrunner Loadrunner Oracle oracle

口哨鱼的个人空间 引用 删除 口哨鱼   /   2013-01-22 14:05:01
这个要选择什么协议
引用 删除 tanky   /   2009-04-22 19:56:37
"一定要亲手录制过一遍,然后把代码全删除掉,再把上面的代码贴进去,才可以看到最终的运行结果."

不需要的,只需要把别的ORACLE脚本中的“vdf.h”文件放到你的脚本文件夹中就可以了。
讨论各问题:如果SQL返回为空,怎么判断?


                           51testing   tanky
 

评分:0

我来说两句

Open Toolbar