老李分享:loadrunne动态查询db2数据库

老李分享:loadrunne动态查询db2数据库

 

     poptest老李认为性能测试脚本开发不仅仅涉及到脚本开发的技术层面,同时也要对一些其他技术有所了解动态链接库的技术,线程安全等等,建议在做下面的例子的时候也找windows编程的书看看,对个人能力提升会有帮助。 

     测试场景:用户注册【注册有两种(手机号注册,邮箱注册)】,50用户并发,手机号注册时需要填写下发到用户手机的动态码(用户填写手机号后会将这个动态码下发到用户手机),那么就需要到数据库中去查询这个动态码再填写到脚步中。

     技术要点:要到后台数据库中查询改动态码


     实现:
    1、安装DB2服务。
    2、写sqc脚本。到C:\IBM\SQLLIB\samples\c下,可以很到很到sqc文件,这就是db2提供带有嵌入式sql的C脚本,必须经过编译后才能转换成C程序:
    *下面命令在db2cmd命令下进行
    connect to databasename //连接到数据库
    prep e:\db2sqlc\test.sqc //编译sqc文件,编译好后会在同目录下生成一个***.c文件
    大家可以看看C:\IBM\SQLLIB\samples\c下面有的sqc文件,技巧拷贝copy一个sqc文件再把内容改下。

    3、把c代码转换为dll文件。

             (安装了VS2010,创建一个空项目,在源文件中创建一个类,把第一步中编译好的C代码复制过来。

                 改下项目属性中的配置类型为“动态库(.dll)”,生成下,即可。

                在\Visual Studio 2010\Projects\aa\Debug下可找到生成的dll文件。
    4、在loadrunner中引用这个dll文件

           action{
      char out_pwd[30] = {'\0'};
      char out_tid[10] = {'\0'};
      char in_phone[30] = {'\0'};
      char dbAlias[30]; //连接的数据库别名
      char user[30]; //数据库用户名
      char pswd[30]; //数据库密码
      int rc = 0;
      lr_load_dll("e:/dlldir/dlltest.dll");

      strcpy(dbAlias,"FMP16");
      strcpy(user,"db2inst1");
      strcpy(pswd,"db2inst1");

      rc = dbconn(dbAlias, user, pswd);
      strcpy(in_phone,lr_eval_string("{phoneNum}"));
      query(in_phone, out_tid, out_pwd);
      rcd = dbdisconn(dbAlias);

              }

      poptest测试交流qq群:195983133

posted @ 2015-11-04 15:02  北京茑萝信息  阅读(166)  评论(0编辑  收藏  举报