欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

LoadRunner 操作MySQL数据库,执行SQL语句

程序员文章站 2022-03-12 20:19:10
LoadRunner 操作MySQL数据库MySQL_LoadRunner_librarieslibmySQL.dll提供函数介绍执行SQL语句代码MySQL_LoadRunner_libraries首先要准备MySQL_LoadRunner_libraries,可百度自行下载,下载后放到LoadRunner对应目录(bin、include)libmySQL.dll提供函数介绍函数名称函数说明mysql_init()初始化MySQL对象mysql_options()设置...

MySQL_LoadRunner_libraries

首先要准备MySQL_LoadRunner_libraries,可百度自行下载,下载后放到LoadRunner对应目录(bin、include)

libmySQL.dll提供函数介绍

函数名称 函数说明
mysql_init() 初始化MySQL对象
mysql_options() 设置连接选项
mysql_real_connect() 连接到MySQL数据库
mysql_real_escape_string() 将查询串合法化
mysql_query() 发出一个以空字符结束的查询串
mysql_real_query() 发出一个查询串
mysql_store_result() 一次性传送结果
mysql_use_result() 逐行传送结果
mysql_free_result() 释放结果集
mysql_change_user() 改变用户
mysql_select_db() 改变默认数据库
mysql_debug() 送出调试信息
mysql_dump_debug_info() 转存调试信息
mysql_ping() 测试数据库是否处于活动状态
mysql_shutdown() 请求数据库SHUTDOWN
mysql_close() 关闭数据库连接
mysql_character_set_name() 获取默认字符集
mysql_get_client_info() 获取客户端信息
mysql_host_info() 获取主机信息
mysql_get_proto_info() 获取协议信息
mysql_get_server_info() 获取服务器信息
mysql_info() 获取部分查询语句信息
mysql_stat() 获取数据库状态
mysql_list_dbs() 获取数据库列表
mysql_list_tables() 获取数据库表列表
mysql_list_fields() 获取字段列表
mysql_field_count() 获取字段数
mysql_affected_rows() 获取受影响行数
mysql_insert_id() 获取AUTO_INCREMENT列的ID值
mysql_num_fields() 获取结果集中的字段数
mysql_field_tell() 获取当前字段位置
mysql_field_seek() 定位字段
mysql_fetch_field() 获取当前字段
mysql_fetch_field_direct() 获取指定字段
mysql_frtch_fields() 获取所有字段的数组
mysql_num_rows() 获取行数
mysql_fetch_lengths() 获取行长度
mysql_row_tell() 获取当前行位置
mysql_row_seek() 行定位
mysql_fetch_row() 获取档期行
mysql_list_processes() 返回所有线程列表
mysql_thread_id() 获取当前线程ID
mysql_thread_safe() 是否支持线程方式
mysql_kill() 杀死一个进程
mysql_errno() 获取错误号
mysql_error() 获取错误信息

执行SQL语句代码

Action()
{
	int rc;
	int db_connection;
	int query_result;
	char** result_row;
	char *server = "xxxxxxxx";//数据库连接地址
	char *user = "user";//数据库账号
	char *password = "pwd";//数据库密码
	char *database = "db";//数据库
	int port = 3306;//数据库连接端口
	int unix_socket = NULL;
	int flags = 0;  

	//加载MySQL库
	rc =lr_load_dll("D:\\LoadRunner11\\bin\\libmysql.dll");//libmysql.dll本地位置

	if (rc != 0) {
		lr_error_message("不能加载libmysql.dll文件,请确认文件路径");
		lr_abort();//停止脚本
	}

	db_connection = mysql_init(NULL);

	if (db_connection == NULL) {
		lr_abort();//停止脚本
	}

	//初始化连接数据库
	rc = mysql_real_connect(db_connection,server,user,password,database,port,unix_socket,flags);

	if (rc == NULL) {
		lr_error_message("%s",mysql_error(db_connection));//输入错误信息
		mysql_close(db_connection);
		lr_abort();//停止脚本
	}

	rc = mysql_query(db_connection,"select phone_number from user where account='user'");

	lr_convert_string_encoding(lr_eval_string("{rc}"),"utf-8",NULL,"result");

	if (rc != 0) {
		lr_error_message("%s",mysql_error(db_connection));
		mysql_close(db_connection);
		lr_abort();//停止脚本
	}

	query_result = mysql_use_result(db_connection);//逐行传送结果

	if (query_result == NULL) {
		lr_error_message("%s",mysql_error(db_connection));
		mysql_free_result(query_result);
		mysql_close(db_connection);
		lr_abort();//停止脚本
	}

	while (result_row = (char **)mysql_fetch_row(query_result)) { //将结果当前行赋值给result_row
		if (result_row == NULL) {
			lr_error_message("没有查询到结果");
			mysql_free_result(query_result);
		    mysql_close(db_connection);
		    lr_abort();//停止脚本
		}
		lr_save_string(result_row[0],"no"); //保存结果到no
		lr_output_message("ID is: %s",lr_eval_string("{no}"));
	}
	mysql_free_result(query_result);//释放结果集
	mysql_close(db_connection);//关闭数据库连接
}


本文地址:https://blog.csdn.net/zhangkexin_z/article/details/107412560