1. 程式人生 > >loadrunner連結mysql資料庫

loadrunner連結mysql資料庫

首先要下載動態連結庫,libmysql.dll檔案,放置在指令碼目錄下。(<span style="font-family: Arial, Helvetica, sans-serif;">libmysql.dll檔案可以到我的資源裡面下載</span><span style="font-family: Arial, Helvetica, sans-serif;">)</span>
<span style="font-size:18px;">指令碼如下:</span>
<span style="font-size:18px;">Action()
{
	int rc;								//定義狀態變數,0表示成功,非0表示失敗
    int db_connection;					//定義初始化狀態	
	int query_result;					//定義查詢結果狀態				
    char *server = "localhost";   		// 資料庫的ip地址
    char *user = "root";                // 資料庫訪問使用者名稱
    char *password = "";        		// 密碼
    char *database = "mytest";          // 資料庫名稱
    int port = 3306;                    // 訪問埠
    int unix_socket = NULL;				
    int flags = 0;		
    char** result_row; 				   //定義查詢的結果集
   
    rc=lr_load_dll("libmysql.dll");     

	if (rc!=0) {                         
		lr_error_message("不能載入dll檔案");
		lr_error_message("%s",mysql_error(db_connection));//輸出載入失敗錯誤資訊
		mysql_close(db_connection);	//關閉連結
		lr_abort();					//退出
	}

	db_connection=mysql_init(NULL);	//初始化mysql連線
	if (db_connection==NULL ) {		//如果連結狀態為空就退出
		lr_abort();
	}

	rc=mysql_real_connect(db_connection,server,user,password,database,port,unix_socket,flags);//連線到mysql資料庫


	if (rc==NULL) {										//如果連結結果為NULL 輸出錯誤
		lr_error_message("%s",mysql_error(db_connection));
		mysql_close(db_connection);
		lr_abort();
	}

	rc=mysql_query(db_connection,"select * from name");//執行查詢語句

	if (rc!=0) {										//輸出查詢失敗的資訊
        lr_error_message("%s",mysql_error(db_connection));
		mysql_close(db_connection);
		lr_abort();
	}

  query_result=mysql_use_result(db_connection);//查詢資料表

   while (result_row=(char**)mysql_fetch_row(query_result)) { 

	   
	   lr_save_string(result_row[0],"name");		     	      //將獲取的行數儲存為引數name
	   lr_output_message("name is %s",lr_eval_string("{name}")); //將所在行的資料輸出

	   if ( result_row==NULL) {			  //如果查詢結果行為空 ,就關閉並退出
		   lr_error_message("沒有查詢到結果");
		   mysql_free_result(query_result);
		   mysql_close(db_connection);
		   lr_abort();
	   }
   }
   mysql_free_result(query_result);  //釋放結果集
   mysql_close(db_connection);		//關閉資料庫連線

	return 0;
}
</span>