查看完整版本: 使用LR测试Oracle数据库的方法

cedar 2006-12-4 14:47

使用LR测试Oracle数据库的方法

使用LR测试Oracle数据库的方法
一个简单的连接方法,欢迎大家跟贴讨论更多方法
详细脚本见附件


选择,建立一个Oracle(2-Tier)协议的脚本
加入
static LRD_INIT_INFO InitInfo = {LRD_INIT_INFO_EYECAT};
static LRD_DEFAULT_DB_VERSION DBTypeVersion[] =
{
        {LRD_DBTYPE_NONE, LRD_DBVERSION_NONE}
};


先定义初始化数据库的各种变量
static void FAR *       OraEnv1;
static void FAR *       OraSvc1;
static void FAR *       OraSrv1;
static void FAR *       OraSes1;
static void FAR *       OraStm1;
unsigned long           rownum;

初始化数据库部分
lrd_init(&InitInfo, DBTypeVersion);
lrd_initialize_db(LRD_DBTYPE_ORACLE, 3, 0);
lrd_env_init(LRD_DBTYPE_ORACLE, &OraEnv1, 0, 0);
lrd_ora8_handle_alloc(OraEnv1, SVCCTX, &OraSvc1, 0);
lrd_ora8_handle_alloc(OraEnv1, SERVER, &OraSrv1, 0);
lrd_ora8_handle_alloc(OraEnv1, SESSION, &OraSes1, 0);

连接数据库
lrd_server_attach(OraSrv1, "这里填写数据库的名称", -1, 0, 0);
lrd_ora8_attr_set_from_handle(OraSvc1, SERVER, OraSrv1, 0, 0);

设定数据库密码
lrd_ora8_attr_set(OraSes1, USERNAME, "system", -1, 0);
lrd_ora8_attr_set(OraSes1, PASSWORD, "这里填写密码", -1, 0);

初始化连接session
lrd_ora8_attr_set_from_handle(OraSvc1, SESSION, OraSes1, 0, 0);

开始连接数据库
lrd_session_begin(OraSvc1, OraSes1, 1, 0, 0);
lrd_ora8_handle_alloc(OraEnv1, STMT, &OraStm1, 0);

设定查询语句
lrd_ora8_stmt(OraStm1, "这里填写查询语句", 1, 0, 0);

执行查询语句
lrd_ora8_exec(OraSvc1, OraStm1, 0, 0,&rownum, 0, 0, 0, 0, 1);

释放连接数据库的各种变量
lrd_handle_free(&OraStm1, 0);
lrd_session_end(OraSvc1, OraSes1, 0, 0);
lrd_server_detach(OraSrv1, 0, 0);
lrd_handle_free(&OraEnv1, 0);

[[i] 本帖最后由 cedar 于 2007-7-27 18:50 编辑 [/i]]

Zee 2006-12-4 15:02

确实不错

leey 2006-12-4 15:04

有点深奥,顶一个。

vivien 2006-12-4 15:12

前段时间一直弄这这个东西,现在可以参考了,谢谢楼主共享:)

blackwind 2006-12-4 15:51

感动啊 ,希望以后多共享一下脚本.最好出教程拉,哈哈

jackloo 2006-12-4 16:41

呵呵。其实不需要这么麻烦。
如果你是用Oracle(2-Tier)协议的话,可以通过各种执行Oracle的SQL脚本的工具来直接录制。它会自动生成很多文件,比如:
pre_cci.c
vdf.h
*.rdf
*.grd
print.inl
你脚本中定义的所有static,其实都自动保存在vdf.h文件中;另外如果你要使用到数据库中表的某些字段,它也会自动保存到*.grd和*.rdf文件中。

但是,当初我发现如果我使用ODBC协议的话,我根本录制不到任何内容,所以才手写脚本,把vdf.h文件中的定义内容全部写在了脚本里。我发现这样也是可以运行的,而且还发现居然效率更高。

cedar 2006-12-5 10:28

不错的信息。欢迎大家一起来讨论。

jiangyue 2006-12-5 11:20

请教一问题

请教一下,在对数据库进行测试的时候,比如模拟200个用户对数据库施压,在数据库中会添加实际数据吗。他实现的原理是什么?谢谢!

jiangyue 2006-12-5 11:27

请教loadrunner 实现压力测试的原理?

在对数据库测试的过程中,模拟的数据会在数据库中实际添加吗?如果不能,他怎么对数据库的性能指标实施测试?
  请教各位大侠!!!

cedar 2006-12-5 14:41

对数据进行的操作是实际操作,如果是插入语句的话,会向数据库里添加数据的。
由此来测试数据库的性能指标。

AlanStone 2006-12-5 16:59

好.简单明了,学习的好帮手.

Aries1987 2006-12-5 17:00

不错

不错是不错!问题是我写在那啊?怎么弄啊?可否做个视屏给大家看看啊?

hadywei 2006-12-5 17:37

我想问一下  ,这个脚本要自己写吗 ?不是录制的吗?

cs_blue 2006-12-6 09:34

正要学习这方面知识,谢谢搂主!

cedar 2006-12-6 12:00

通过录制也可以有类似的脚本,但无用的语句过多,简单的测试可以直接引用上面的语句。

黑妹 2006-12-6 14:03

谢谢,收藏

黑妹 2006-12-6 15:20

[quote]原帖由 [i]jackloo[/i] 于 2006-12-4 16:41 发表
呵呵。其实不需要这么麻烦。
如果你是用Oracle(2-Tier)协议的话,可以通过各种执行Oracle的SQL脚本的工具来直接录制。它会自动生成很多文件,比如:
pre_cci.c
vdf.h
*.rdf
*.grd
print.inl
你脚本中定义 ... [/quote]

如何录制的?sdlkfj1

cedar 2006-12-6 16:18

安装Oracle后选择一个可以访问数据库的程序,开始录制。

wuhuawu09 2006-12-6 16:20

不是很明白......

cedar 2006-12-6 16:54

试试就清楚了。sdlkfj2

suncaijun 2006-12-7 10:41

死命的顶贴

jackloo 2006-12-7 11:17

回复 #17 黑妹 的帖子

就是用Oracle(2-Tier)协议,选择WIN32程序,程序选择的是ORACLE的SQLPLUS。开始录制后在里面写SQL语句就可以了。

dandan 2006-12-7 13:36

不错....顶一下

ZBB 2006-12-7 14:17

好文章,顶一下!

不过,本人是菜鸟,还需要多理解[img]http://bbs.51testing.com/images/smilies/4.gif[/img]

cedar 2006-12-7 15:11

加了对应脚本的附件,欢迎大家下载。

syjjuanna_971 2006-12-7 16:13

不错

顶一下!

fengjianxin 2006-12-7 16:48

菜鸟也要顶

什么都看不懂也进来顶上一顶!以后多学习!

g_win 2006-12-7 21:42

ding one!

cedar 2006-12-12 13:43

自己顶个。

zhaoxu2003 2006-12-17 15:48

谢谢

谢谢

testzhu 2006-12-20 14:32

我也想问上面问过的问题,要是测试的时候,向实际的数据库中增加了数据,那岂不是多了很多垃圾数据?再删除的话删不干净或删错了岂不是很麻烦?怎么办?

xingcyx 2006-12-20 15:25

在哪里填数据库服务器的IP地址?

cedar 2006-12-22 10:32

to:31楼
因为是实际操作才可能测试真正的数据库性能,也可以对应的编写删除数据的脚本

to:32楼
数据的地址是由连接Oracle的客户端配置的

jut984907 2006-12-22 11:03

下载看看,有空试试

2betrue 2006-12-22 17:51

顶一下,好东西

eliteboyling 2007-2-7 17:45

我菜鸟。。虽然不知道。。但还是谢谢了。。

Joan2005 2007-2-8 09:37

好厉害啊.

wuzm8412 2007-2-9 11:33

好东西

顶破头也要顶一下

jingzi 2007-3-30 19:06

先下载,然后慢慢研究sdlkfj5

kelly_yan 2007-3-31 09:57

下载
页: [1] 2 3
查看完整版本: 使用LR测试Oracle数据库的方法