zhimalvdou 发表于 2014-11-18 17:00:16

LoadRunner脚本怎么连接SQL数据库

LoadRunner 的脚本要怎么连接SQL Server 2005数据库进行修改数据操作
给出具体代码并解释下,谢谢

songjinhua1989 发表于 2014-11-19 13:39:55

1、下载JDBC驱动

2、在run_time setting下的classpath把这驱动引入。

3、代码编写如下:

/*
* LoadRunner Java script. (Build: _build_number_)
*
* Script Description:
*                     
*/

import lrapi.lr;
import java.io.*;
import java.sql.*;
import lrapi.web;

public class Actions
{
int sum=0;
int ColumnCount=0;
//String dbserverip = lr.eval_string("<dbserver>");
//定义数据库连接串
String conURL="jdbc:sqlserver://xx.xx.x.xx\\sql1;DatabaseName=NewDB";
//连接数据库用户名
String user="prj_tmp_rw";
//数据库口令
String password="xxxxx";
Statement stat;
ResultSet Result1;
Connection conn;
public int init() throws Throwable {
         //加载JDBC驱动
lr.think_time(5);
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
System.out.println("驱动加载完成");
//连接数据库

lr.think_time(5);
conn = DriverManager.getConnection(conURL,user,password);
lr.think_time(5);
stat=conn.createStatement();
return 0;
}//end of init

public int action() throws Throwable {
         lr.think_time(5);
lr.start_transaction("lr_Query_data_trans");
                Result1=stat.executeQuery("<QueryParm>");
                ResultSetMetaData rsmd = Result1.getMetaData();
                ColumnCount = rsmd.getColumnCount();
                System.out.println("结果集的列数:" + ColumnCount);
if(ColumnCount==0)
{
      lr.end_transaction("lr_Query_data_trans",lr.FAIL);
}
else
{
      lr.end_transaction("lr_Query_data_trans",lr.PASS);
}
return 0;
}//end of action

public int end() throws Throwable {
         Result1.close();
         stat.close();
         conn.close();
return 0;
}//end of end
}

土土的豆豆 发表于 2014-11-19 13:59:32

两种方式:
一、通过向导方式:
1.录制完脚本,选择要参数化的数值,右键点 Replace
2.选properties...,进入页面后,选 data wizard
3.specify SQL statement manually,下一步
4.点 create,然后 “新建”,此时出现创建新数据源的页面
5.选择 SQL Server,下一步,点“浏览”,创建文件并选择存放路径;下一步 — 完成。
6.出现“创建SQL SERVER”的数据源,描述可以不写,服务器写要连接的机器的IP.(下拉框自动扫描所在局域网内的所有IP)下一步,选“试用用户输入登陆ID和密码的验证”,下面写登录名和密码,SQL server默认都是SA
7. 更改默认数据库(要连接的数据库),下一步 — 完成。
8.测试数据源,成功~
9.回到DATA WIZARD,选择刚创建的DSN文件,连接数据库成功后,在SQL statementL里写入查询语句,查询结构就自动写入啦。

二、直接写代码脚本:
a) eg. JDBC 连接
1、下载JDBC驱动(sqljdbc4.jar)
2、在run_time setting下的classpath把这驱动引入。
3、编写脚本

/*
* LoadRunner Java script. (Build: _build_number_)
*
* Script Description:
*                     
*/

import lrapi.lr;
import java.io.*;
import java.sql.*;
import lrapi.web;

public class Actions
{
int sum=0;
int ColumnCount=0;
//String dbserverip = lr.eval_string("<dbserver>");
//定义数据库连接串
String conURL="jdbc:sqlserver://xx.xx.x.xx\\sql1;DatabaseName=NewDB";
//连接数据库用户名
String user="prj_tmp_rw";
//数据库口令
String password="xxxxx";
Statement stat;
ResultSet Result1;
Connection conn;
public int init() throws Throwable {
          //加载JDBC驱动
lr.think_time(5);
   Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
   System.out.println("驱动加载完成");
   //连接数据库

lr.think_time(5);
   conn = DriverManager.getConnection(conURL,user,password);
   lr.think_time(5);
   stat=conn.createStatement();
   return 0;
}//end of init

public int action() throws Throwable {
          lr.think_time(5);
   lr.start_transaction("lr_Query_data_trans");
               Result1=stat.executeQuery("<QueryParm>");
               ResultSetMetaData rsmd = Result1.getMetaData();
               ColumnCount = rsmd.getColumnCount();
               System.out.println("结果集的列数:" + ColumnCount);
   if(ColumnCount==0)
   {
       lr.end_transaction("lr_Query_data_trans",lr.FAIL);
   }
   else
   {
       lr.end_transaction("lr_Query_data_trans",lr.PASS);
   }
   return 0;
}//end of action

public int end() throws Throwable {
          Result1.close();
          stat.close();
          conn.close();
   return 0;
}//end of end
}

b) C/C++ 连接
在系统的管理工具->数据源中新建一个sql server数据源:

Data Source=zloracle; UID=ZLIN;PWD=PASSWORD



lr脚本的代码:

char strconn="DRIVER={Oracle in OraHome92};SERVER=208;Data Source=zloracle;UID=ZLIN;PWD=PASSWORD";



lr_load_dll("mfcdll.dll");   //加载DLL库

x=dbconnect(strconn);





mfcdll.dll(VC做的)中的代码:

int dbconnect(char strconn[])

{ // HRESULT   hResult;   

       int x=0;   

//::AfxOleInit();

       CoInitialize(NULL);

//   _bstr_t    conn="DRIVER={Oracle in OraHome92};SERVER=208;Data Source=zloracle;UID=ZLIN;PWD=PASSWORD";



       _bstr_t conn=(_bstr_t)strconn;//字符串转换成_bstr_类型

      

       m_pConnection.CreateInstance("ADODB.Connection");

//   m_pConnection->Open(conn,"","",-1);



if   (SUCCEEDED(m_pConnection->Open(conn,"","",adModeUnknown)))

{   

AfxMessageBox("已连接成功");   

x=10;

}   

else

    AfxMessageBox("连接失败");



       return x;
}

lunahaha527 发表于 2014-11-20 16:56:36

http://bbs.51testing.com/forum.php?mod=viewthread&tid=1036278
二位高手,能不能帮忙看下这个贴子。现在还没搞定呢。连接的是MYSQL
页: [1]
查看完整版本: LoadRunner脚本怎么连接SQL数据库