loadrunner动态从mysql取值

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: loadrunner动态从mysql取值 [需要下载跟数据库服务器一致的dll,32位或64位] loadrunner中有参数化从数据库中取值,但是只是静态的,对于一些要实时取值的数据就game over了,比如取短信验证码,因为MySQL中有一个libmysql.

loadrunner动态从mysql取值 [需要下载跟数据库服务器一致的dll,32位或64位]

loadrunner中有参数化从数据库中取值,但是只是静态的,对于一些要实时取值的数据就game over了,比如取短信验证码,因为MySQL中有一个libmysql.dll,里面提供了可以操作数据库的方法,所以我们可以调用这个dll连接数据库实时从数据库中取值

 

 1 Action()
 2 {
 3 
 4     int status;                           //定义状态变量,0表示成功,非0表示失败  
 5     int db_connection;                  //定义初始化状态     
 6     int result;                   //定义查询结果状态                
 7     char *server = "*****";         // 数据库的ip地址  
 8     char *user = "test";                // 用户名  
 9     char *password = "123456";                // 密码  
10     char *database = "*****";          // 数据库名称  
11     int port = 3306;                    // 端口  
12     int socket = NULL;               
13     int flags = 0;        
14     char** result_set;                 //定义查询的结果集  
15 
16   //数据库操作     
17     status=lr_load_dll("E:\\VuGen Scripts\\libmysql.dll");       
18 
19     if (status!=0) {                           
20         lr_error_message("不能加载dll文件");  
21         lr_error_message("%s",mysql_error(db_connection));//打印加载失败错误信息  
22         mysql_close(db_connection);  
23         lr_abort();                 
24     }  
25 
26     db_connection=mysql_init(NULL); //初始化mysql连接  
27     if (db_connection==NULL ) {     //如果链接状态为空就退出  
28         lr_abort();  
29     }  
30 
31     status=mysql_real_connect(db_connection,server,user,password,database,port,socket,flags);//连接到mysql数据库  
32 
33 //打印连接不成功的原因  
34     if (status==NULL) {   
35         lr_error_message("%s",mysql_error(db_connection));
36         mysql_close(db_connection);
37         lr_abort();
38     }
39 
40   //调用dll方法执行查询语句
41     status=mysql_query(db_connection,"select vcode from cb_vcode_list where telphone=180******** and is_deleted=0");
42 
43   //打印查询失败的原因
44     if (status!=0) {                                        
45         lr_error_message("%s",mysql_error(db_connection));
46         mysql_close(db_connection);
47         lr_abort();
48     }
49 
50     result=mysql_use_result(db_connection);//查询数据表
51 
52    while (result_set=(char**)mysql_fetch_row(result)) {
53 
54        lr_save_string(result_set[0],"vcode");       //将获取的数据保存为参数vcode
55        lr_output_message("vcode is %s",lr_eval_string("{vcode}")); //打印数据
56 
57         if ( result_set==NULL) {           //如果查询结果行为空 ,就关闭并退出
58            lr_error_message("没有查询到结果");
59             mysql_free_result(result);
60             mysql_close(db_connection);
61             lr_abort();
62         }
63     }
64 
65    mysql_free_result(result);  //释放结果集
66    mysql_close(db_connection);      //关闭数据库连接  
67 
68     return 0;
69 }

 


img_42a4adae4716d0e15c3eeaabfd040044.png

注:转载需注明出处及作者。

流柯      

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
8月前
Mybatis+mysql动态分页查询数据案例——测试类HouseDaoMybatisImplTest)
Mybatis+mysql动态分页查询数据案例——测试类HouseDaoMybatisImplTest)
|
8月前
|
Java 关系型数据库 数据库连接
Mybatis+MySQL动态分页查询数据经典案例(含代码以及测试)
Mybatis+MySQL动态分页查询数据经典案例(含代码以及测试)
|
8月前
Mybatis+mysql动态分页查询数据案例——条件类(HouseCondition)
Mybatis+mysql动态分页查询数据案例——条件类(HouseCondition)
|
8月前
Mybatis+mysql动态分页查询数据案例——分页工具类(Page.java)
Mybatis+mysql动态分页查询数据案例——分页工具类(Page.java)
|
8月前
Mybatis+mysql动态分页查询数据案例——房屋信息的实现类(HouseDaoMybatisImpl)
Mybatis+mysql动态分页查询数据案例——房屋信息的实现类(HouseDaoMybatisImpl)
|
8月前
Mybatis+mysql动态分页查询数据案例——工具类(MybatisUtil.java)
Mybatis+mysql动态分页查询数据案例——工具类(MybatisUtil.java)
|
7月前
|
关系型数据库 MySQL Serverless
实时计算 Flink版产品使用问题之使用cdas语法同步mysql数据到sr serverless是否支持动态加表
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
6月前
|
SQL 关系型数据库 MySQL
实时计算 Flink版产品使用问题之如何进行MySQL到MySQL的动态同步
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
7月前
|
SQL 存储 关系型数据库
17. Mysql 动态SQL
17. Mysql 动态SQL
120 1
|
7月前
|
关系型数据库 MySQL
mysql动态查列(case when then else end)
mysql动态查列(case when then else end)