LoadRunner 12.00-错误:服务器句柄尚未分配(NULL)

问题描述 投票:0回答:1

我已经在LoadRunner 12.00中使用Oracle 2 Tier协议记录了一个脚本。这是脚本失败的一小段代码:

    lrd_init(&InitInfo, DBTypeVersion);
    lrd_initialize_db(LRD_DBTYPE_ORACLE, 1, 0);
    lrd_env_init(LRD_DBTYPE_ORACLE, &OraEnv1, 0, 0);
    lrd_ora8_handle_alloc(OraEnv1, SERVER, &OraSrv1, 0);
    lrd_ora8_handle_alloc(OraEnv1, SVCCTX, &OraSvc1, 0);
    lrd_ora8_handle_alloc(OraEnv1, SESSION, &OraSes1, 0);
    lrd_server_attach(OraSrv3, "xyz.abc.com", 24, 0, 0);

错误发生在lrd_server_attach行:

Action.c(24): Server Handle has not been allocated (NULL)
Action.c(24): server_attach: ERROR, return-code=LRDE2090 

我已使用正确的连接语句更新了tsnames.ora文件。是什么导致此错误?我应该从哪里开始寻找?请帮助。

database oracle performance-testing loadrunner
1个回答
0
投票

好,让我们看一下lrd_server_attach()的示例代码,然后看您的代码

首先,示例

rd_initialize_db(LRD_DBTYPE_ORACLE, 2, 0);
lrd_env_init(LRD_DBTYPE_ORACLE, &OraEnv1, 0, 0);
lrd_handle_alloc_ora(OraEnv1, SERVER, &OraSrv1, 0);  // See OraSrv1 here
lrd_handle_alloc_ora(OraEnv1, SVCCTX, &OraSvc1, 0);
lrd_handle_alloc_ora(OraEnv1, SESSION, &OraSes1, 0);
lrd_server_attach(OraSrv1, "rman", -1, 0, 0);        // See OraSrv1 here

现在,您的代码

lrd_init(&InitInfo, DBTypeVersion);
lrd_initialize_db(LRD_DBTYPE_ORACLE, 1, 0);
lrd_env_init(LRD_DBTYPE_ORACLE, &OraEnv1, 0, 0);
lrd_ora8_handle_alloc(OraEnv1, SERVER, &OraSrv1, 0);   // See OraSrv1 here
lrd_ora8_handle_alloc(OraEnv1, SVCCTX, &OraSvc1, 0);
lrd_ora8_handle_alloc(OraEnv1, SESSION, &OraSes1, 0);
lrd_server_attach(OraSrv3, "xyz.abc.com", 24, 0, 0);   // See OraSrv3 here

对我来说,您似乎有一个尚未分配的OraSrv3句柄标签。您的第三个参数也有点麻烦,因为它通常是第二个参数的长度,但是这里更长。

© www.soinside.com 2019 - 2024. All rights reserved.