使用LR的ODBC協議進行mysql資料庫測試

來源:互聯網
上載者:User

標籤:使用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資料庫測試

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.