|
我在论坛中看到cedar发的 关于“使用LR测试Oracle数据库的方法”帖子,自己尝试了一下,发现回放时提示执行SQL没有返回任何记录,提示“ora8_exec”:0 row(s) processed“,请问有没有朋友尝试过这种方法,有没有以上的问题,如何解决的?
cedar原帖子参见http://bbs.51testing.com/thread-50434-1-1.html
为了方便查看,我拷贝在下面:
使用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); |
|