51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 46538|回复: 145
打印 上一主题 下一主题

[原创] 使用LR测试Oracle数据库的方法

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2006-12-4 14:47:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
使用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);

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2006-12-4 15:02:28 | 只看该作者
确实不错
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2006-12-4 15:04:30 | 只看该作者
有点深奥,顶一个。
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2006-12-4 15:12:30 | 只看该作者
前段时间一直弄这这个东西,现在可以参考了,谢谢楼主共享:)
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2006-12-4 15:51:38 | 只看该作者
感动啊 ,希望以后多共享一下脚本.最好出教程拉,哈哈
回复 支持 反对

使用道具 举报

该用户从未签到

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

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

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2006-12-5 10:28:59 | 只看该作者
不错的信息。欢迎大家一起来讨论。
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2006-12-5 11:20:31 | 只看该作者

请教一问题

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

使用道具 举报

该用户从未签到

9#
发表于 2006-12-5 11:27:23 | 只看该作者

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

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

使用道具 举报

该用户从未签到

10#
 楼主| 发表于 2006-12-5 14:41:21 | 只看该作者
对数据进行的操作是实际操作,如果是插入语句的话,会向数据库里添加数据的。
由此来测试数据库的性能指标。
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2006-12-5 16:59:48 | 只看该作者
好.简单明了,学习的好帮手.
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2006-12-5 17:00:14 | 只看该作者

不错

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

使用道具 举报

该用户从未签到

13#
发表于 2006-12-5 17:37:40 | 只看该作者
我想问一下  ,这个脚本要自己写吗 ?不是录制的吗?
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2006-12-6 09:34:03 | 只看该作者
正要学习这方面知识,谢谢搂主!
回复 支持 反对

使用道具 举报

该用户从未签到

15#
 楼主| 发表于 2006-12-6 12:00:55 | 只看该作者
通过录制也可以有类似的脚本,但无用的语句过多,简单的测试可以直接引用上面的语句。
回复 支持 反对

使用道具 举报

该用户从未签到

16#
发表于 2006-12-6 14:03:03 | 只看该作者
谢谢,收藏
回复 支持 反对

使用道具 举报

该用户从未签到

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


如何录制的?sdlkfj1
回复 支持 反对

使用道具 举报

该用户从未签到

18#
 楼主| 发表于 2006-12-6 16:18:19 | 只看该作者
安装Oracle后选择一个可以访问数据库的程序,开始录制。
回复 支持 反对

使用道具 举报

该用户从未签到

19#
发表于 2006-12-6 16:20:31 | 只看该作者
不是很明白......
回复 支持 反对

使用道具 举报

该用户从未签到

20#
 楼主| 发表于 2006-12-6 16:54:32 | 只看该作者
试试就清楚了。sdlkfj2
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /2 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-6-8 04:23 , Processed in 0.091964 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表