代码改变世界

用Loadrunner测试oracle存储过程性能

2016-03-17 17:57  joe_tester  阅读(801)  评论(0)    收藏  举报

1、协议选择:Oracle(2-Tier)

2、录制脚本,找到你的sqlplus路径

3、在弹出来的sqlplus命令行中输入用户名/密码

例:用户名:yxpt_boss@NCNFC    user@sid

    密码:xxxxxx

4、根据实际操作执行存储过程,并exit退出,录制的脚本如下:

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, SERVER, &OraSrv1, 0);
    lrd_ora8_handle_alloc(OraEnv1, SVCCTX, &OraSvc1, 0);
    lrd_ora8_handle_alloc(OraEnv1, SESSION, &OraSes1, 0);
    lrd_ora8_handle_alloc(OraEnv1, SESSION, &OraSes2, 0);
    //lr_think_time(27);

    //连接数据库
    lrd_server_attach(OraSrv1, "NCNFC", 5, 0, 0);
    lrd_ora8_attr_set_from_handle(OraSvc1, SERVER, OraSrv1, 0, 0);

    //输入数据库用户名密码
    lrd_ora8_attr_set(OraSes1, USERNAME, "yxpt_boss", -1, 0);
    lrd_ora8_attr_set(OraSes1, PASSWORD, lr_decrypt("56ea1f0a078c53cfb47a"), -1, 0);

    //初始化连接session
    lrd_ora8_attr_set_from_handle(OraSvc1, SESSION, OraSes1, 0, 0);

    //开始连接数据库
    lrd_session_begin(OraSvc1, OraSes1, 1, 0, 0);
    lrd_ora8_handle_alloc(OraEnv1, STMT, &OraStm1, 0);

    return 0;

}
Action()
{

    //设定查询语句              
    lrd_ora8_stmt(OraStm1, "BEGIN p_test({APPTOKEN},'{USERCODE}','{CLOGINNAME}'); END;\n", 1, 32, 0);
    
    //lr_rendezvous("aa");

    //执行查询语句

    lr_start_transaction("存储过程");

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

    lr_end_transaction("存储过程",LR_AUTO);
    
    return 0;
}
vuser_end()
{
    //释放数据库链接
    lrd_handle_free(&OraStm1, 0);
    lrd_session_end(OraSvc1, OraSes1, 0, 0);
    lrd_server_detach(OraSrv1, 0, 0);
    lrd_handle_free(&OraEnv1, 0);
    return 0;
}