int rc;
int db_connection;
char *server = "192.168.139.207"; // 数据库的ip地址
char *user = "cloud"; // 数据库访问用户名
char *password = "cloudtest"; // 密码
char *database = "sklCloud"; // 数据库名称
int port = 3306; // 访问端口
int unix_socket = NULL;
int flags = 0;
char** result_row;
int query_result;
char szSql[256];

int MySqlInit()
{
rc = lr_load_dll("libmysql.dll");
db_connection = mysql_init(NULL);

if (db_connection == NULL)
{
lr_error_message("Insufficient memory");
lr_abort();
}

if(rc!=0)
{
lr_error_message("Load MySql.dll Error!");
lr_abort();
}

rc = mysql_real_connect(db_connection,server, user, password, database, port, unix_socket, flags);
if(rc == NULL)
{
lr_error_message("connect mysql error! %s",mysql_error(db_connection));
mysql_close(db_connection);
lr_abort();
}
return rc;
}

int MySqlUnit()
{
// 释放MySQL资源
mysql_close(db_connection);
return 0;
}

int InsertValue(char* query)
{
rc = mysql_query(db_connection,query);
if (rc != 0)
{
lr_error_message("%s", mysql_error(db_connection));
}

query = NULL;
return rc;
}

int MySqlQuery(char* szSql)
{
rc = mysql_query(db_connection,szSql);

if(rc != 0)
{
lr_error_message("%s",lr_eval_string("?"));
lr_error_message("%s", mysql_error(db_connection));
szSql = NULL;
return -1;
}

query_result = mysql_use_result(db_connection);
if (query_result == NULL)
{
lr_error_message("%s", mysql_error(db_connection));
mysql_free_result(query_result);
szSql = NULL;
return -2;
}

result_row = (char **)mysql_fetch_row(query_result);
if (result_row == NULL)
{
lr_error_message("Did not expect the result set to be empty");
mysql_free_result(query_result);
szSql = NULL;
return -3;
}

mysql_free_result(query_result);
szSql = NULL;
return 0;
}

可将mysqlfunc.c copy到脚本路径下,在globals.h中引用:
// Include Files
#include "lrun.h"
#include "lrd.h"
#include "web_api.h"
#include "lrw_custom_body.h"
#include "my_api.c"
#include "mysqlfunc.c"

安装mysql dll库:
MySQL LoadRunner libraries.zip
解压后
将bin下的dll文件copy到:
D:\Program Files\HP\LoadRunner\bin
将include下的文件copy到:

D:\Program Files\HP\LoadRunner\include

MySQL LoadRunner libraries下载:

http://pan.baidu.com/s/1pL6tNvX

Mysqlfunc.c的更多相关文章

  1. FTS5与DIY

    此文已由作者王荣涛授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. FTS5简介 前文已经介绍了FTS3/FTS4,本文着重介绍它们的继任者FTS5. FTS5是在SQLite ...

  2. APUE之第5章——标准I/O库

    一.知识回顾:文件I/O 文件 I/O 是不带缓冲的 I/O(unbuffered I/O),指每个 read 和 write 都调用内核中的一个系统调用. 对于内核而言,所有打开的文件都通过文件描述 ...

随机推荐

  1. 【转】(深入理解计算机系统) bss段,data段、text段、堆(heap)和栈(stack)

    bss段: bss段(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域. bss是英文Block Started by Symbol的简称. bss段属于静态内存分配. ...

  2. 【Swing】图形用户界面基础

    前言 简单总结一下图形用户界面(Graphical User Interface)的相关基础,如GUI的基本元素:窗口,以及介绍Java中的图形界面开发设计的技术. 图形用户界面 图形用户界面就是以图 ...

  3. 9.1.远程过程调用协议_RPC

    6. RPC 6.1.什么是 RPC RPC(Remote Procedure Call Protocol)远程过程调用协议 通俗的描述是:客户端在不知道调用细节的情况下,调用存在于远程计算机上的某个 ...

  4. IDEA利用mybatis-generator自动生成dao和mapper

    pom.xml配置 <properties> <java.version>1.8</java.version> <mybatis-generator-core ...

  5. c++中cin和cout的用法

    cin和cout是c++中的标准输入输出流. 一.cin cin的一般用法: cin>>变量a>>变量b>>变量c; cin会自动辨别变量的类型,如a可以是char ...

  6. java线程基础巩固---Daemon线程的创建以及使用场景分析

    daemon线程既守护线程,而在jdk中对于Thread中针对守护线程有专门的API,如下: 而之前在公司项目中就看到过有人使用过Thread中的这个API,但是对于它的使用场景完全不知,所以这次好好 ...

  7. nodejs研发环境

    https://blog.csdn.net/angl129/article/details/90696251

  8. 修改Jenkins目录

    注意:在Jenkins运行时是不能更改的. 请先将Jenkins停止运行. 1.windows环境下更改JENKINS的主目录 Windows环境中,Jenkins主目录默认在C:\Documents ...

  9. python读取csv文件的某一列或某几列

    import csvimport pandas as pd with open('D:\Data\新建文件夹\list3.2.csv','r') as csvfile: reader = csv.re ...

  10. webpack打包工具之ts版开发框架搭建

    本文用两个框架,一个是threejs,一个是phaser3,其实流程都是一样. nodejs.npm是基础,不再多说! 首先新建一个文件夹命名three-study,然后npm init -y 用we ...