LoadRunner 12.00 - ошибка: дескриптор сервера не был выделен (NULL) - PullRequest
1 голос
/ 09 января 2020

Я записал сценарий, используя Oracle 2-уровневый протокол в LoadRunner 12.00. Вот небольшой фрагмент кода, в котором происходит сбой скрипта:

    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 с правильным подключением заявление. Что может быть причиной этой ошибки? С чего мне начать искать? Пожалуйста, помогите.

1 Ответ

1 голос
/ 09 января 2020

ОК, давайте рассмотрим пример кода для lrd_server_attach (), а затем ваш код

Сначала пример

lrd_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, которая не была выделена. Ваш третий параметр также немного хенковат, поскольку обычно это длина второго параметра, но здесь он длиннее.

...