码迷,mamicode.com
首页 > 数据库 > 详细

使用LR的ODBC协议进行mysql数据库测试

时间:2015-07-07 16:55:37      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:使用lr的odbc协议进行mysql数据

一、ODBC环境配置

系统环境:

Win7 64位系统

1、安装:mysql驱动程序_mysql-connector-odbc-5.1.6-win32

2、64位系统,  那就在这个目录下C:\Windows\SysWOW64找到odbcad32.exe运行,配置mysql数据源(如果你是32位的,在C:\Windows\System32路径下)


二、ODBC协议脚本编写

1、可以进行录制:

步骤:安装SqlDbx,启动LR的VUGen,选择ODBC协议,进行录制。

缺点:录制脚本复杂且难以理解,而且回放效果不好。

技术分享


技术分享


2、手写代码:

步骤:1连接数据库  2执行sql语句  3关闭连接,具体代码如下:

    #include "lrd.h"  
    Action()  
    {  
    static LRD_INIT_INFO InitInfo = {LRD_INIT_INFO_EYECAT};  
    static LRD_DEFAULT_DB_VERSION DBTypeVersion[] =  
    {  
      {LRD_DBTYPE_ODBC, LRD_DBVERSION_ODBC_30},  
      {LRD_DBTYPE_NONE, LRD_DBVERSION_NONE}  
    };  
    static LRD_CONTEXT FAR * Ctx1;  
    static LRD_CONNECTION FAR * Con1;  
    static LRD_CURSOR FAR *     Csr1;  
    //上面的定义的代码如果录制脚本,在vdf.h中就有定义,同时还有一些其他文件  
    //如果手写脚本,则需要手工添加,主要是定义各种变量  

<pre name="code" class="objc">
    //查询行数  
    unsigned long count=0;  
    //初始  
    lrd_init(&InitInfo, DBTypeVersion);  
    //打开上下文  
    lrd_open_context(&Ctx1, LRD_DBTYPE_ODBC, 0, 0, 0);  
    //申请连接的内存  
    lrd_alloc_connection(&Con1, LRD_DBTYPE_ODBC, Ctx1, 0 /*Unused*/, 0);  
    //打开连接,注意DRIVER就是上面安装的  
    lrd_open_connection(&Con1, LRD_DBTYPE_ODBC, "root", lr_decrypt("559b4a806ccaaba6117ac18b9fcdc6ff3f9c67f70903"), "new_mysql", lr_decrypt(
        "559b4a80e"), Ctx1, 0, 0); 


<pre name="code" class="objc"><pre name="code" class="objc">    //执行第一条sql语句
    lrd_open_cursor(&Csr1, Con1, 0);    
    lrd_stmt(Csr1, "SELECT StartTime FROM Answer_Logs WHERE StartTime='1385439793'", -1, 1, 0 /*None*/, 0);
    lrd_row_count(Csr1, &count, 0);   
    lr_message("count= %d",count);  
    lrd_close_cursor(&Csr1, 0);  



<pre name="code" class="objc"><pre name="code" class="objc">    //执行第二条sql语句
    lrd_open_cursor(&Csr1, Con1, 0);   
    lrd_stmt(Csr1, "SELECT Ip FROM Answer_Logs WHERE Ip='49.5.3.173'", -1, 1, 0 /*None*/, 0);  
    lrd_row_count(Csr1, &count, 0);    
    lr_message("count= %d",count);    
    lrd_close_cursor(&Csr1, 0); 



<pre name="code" class="objc">    //执行第三条sql语句
    lrd_open_cursor(&Csr1, Con1, 0);   
    lrd_stmt(Csr1, "SELECT IssueID FROM Answer_Logs WHERE IssueID='2'", -1, 1, 0 /*None*/, 0);
    lrd_row_count(Csr1, &count, 0);   
    lr_message("count= %d",count);  
    lrd_close_cursor(&Csr1, 0); 



    //再关闭连接  
    lrd_close_connection(&Con1, 0, 0);  
    //释放连接,和alloc相呼应,否则有内存泄露  
    lrd_free_connection(&Con1, 0 /*Unused*/, 0);  
    //再关闭上下文  
    lrd_close_context(&Ctx1, 0, 0);  
    //完毕,返回0  
    return 0;  
    }  







版权声明:本文为博主原创文章,未经博主允许不得转载。

使用LR的ODBC协议进行mysql数据库测试

标签:使用lr的odbc协议进行mysql数据

原文地址:http://blog.csdn.net/wuqiong_524itcast/article/details/46790363

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!