首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用JDBC采样器在多个步骤中执行存储过程

如何使用JDBC采样器在多个步骤中执行存储过程
EN

Stack Overflow用户
提问于 2021-09-17 13:49:51
回答 1查看 125关注 0票数 0

我需要一步一步地执行下面的查询(在下面的示例中提到),它是否给了我ORA-00922: missing or invalid option,但是在我的Oracle工具上也是一样的。

Step1

代码语言:javascript
复制
SET ECHO ON
SET FEEDBACK ON
SET VERIFY ON
SET SERVEROUTPUT ON SIZE 1000000;
EXEC FWA_BATCH_PROCESSOR.SETUTLFILEOFF;

Step2

代码语言:javascript
复制
DELETE FROM FWA_ERRORS;
DELETE FROM FWA_BATCH_CONTROL;
INSERT INTO FWA_BATCH_CONTROL VALUES(10, 'UT1', 0, SYSDATE);
UPDATE FWA_PROCESSING SET PROCESS_FLAG = 'N';
UPDATE FWA_PROCESSING SET PROCESS_FLAG   = 'Y' WHERE PACKAGE_NAME = 'FWA_TU' AND PROCEDURE_NAME = 'DOTU';
DELETE FROM FWA_STAGE_TU;

步骤3:

代码语言:javascript
复制
DECLARE 
j number(4);
BEGIN 
FOR j in 11 .. 12 LOOP
      INSERT INTO FWA_STAGE_TU 
      (ID,
      EXT_ID,
      BATCH_NO,
      OPERATION,
      BLOCK_ROLL_UP_LAST_RECORD,
      LAST_UPDATED_DATE,
      ERROR_FLAG,
      TRIAL_NO,
      TRIAL_ALIAS_CODE,
      COUNTRY_CODE,
      DISPLAY_UNIT_NO,
      GROUP_NO,
      TRIAL_UNIT_REFERENCE,
      PRIMARY_INVESTIGATOR,
      PRIMARY_CENTRE,
      LOCATION_NO,
      PURPOSE_CODE,
      MANAGING_MED_UNIT_CODE,
      UPDATING_MED_UNIT_CODE,
      FINANCE_MED_UNIT_CODE,
      PATIENTS_ALL_SET_UP_FLAG,
      PATIENT_MONITORING_FLAG,
      COMMENTS,
      CONFIRMED_FLAG,
      CONFIRMED_BY,
      CONFIRMED_DATE,
      ROLLUP_ROLLDOWN_PLANNED_FIGS,
      DOC_COLLECTION_INDICATOR,
      VALIDATED_PAT_CAP,
      MAXIMUM_PAT_CAP,
      PREFERRED_LANGUAGE_CODE,
      NEW_DISPLAY_UNIT_NO,
      TOTAL_OPEN_DCF_ISSUES_NO,
      ORDER_INTERVAL,
      ORDER_INTERVAL_UNITS,
      DATA_SOURCE_CODE,
      RANK_SEQ)                  
      VALUES 
      (j, 1, 10, 'I', NULL, SYSDATE, 'N', 102922, 'TESTTRIAL4', 'BEL', 
      j, NULL, 'BELTU'||j, 130262, 124236, NULL, 'PATTR', 'FP', 'FP', 'FP', 'N', 'Y', 'TESTTU'||j, 
      'Y', 999999, SYSDATE, NULL, 'P', 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL); 
  END LOOP;
END;

Step4:

代码语言:javascript
复制
UPDATE fwa_processing SET process_flag = 'Y' WHERE procedure_name = 'DOTU';
UPDATE fwa_processing SET process_flag = 'N' WHERE procedure_name != 'DOTU';
UPDATE fwa_batch_control set batch_status = 0;

EXEC FWA_BATCH_PROCESSOR.SETUTLFILEOFF;
exec fwa_batch_processor.process_batch;
commit;

连接配置

请求配置

错误详细信息:

也尝试过用update statement,什么也不起作用?有什么线索可以解决这个问题吗?

更改后:我尝试保留FWA_BATCH_PROCESSOR.SETUTLFILEOFFEXEC FWA_BATCH_PROCESSOR.SETUTLFILEOFF

EN

回答 1

Stack Overflow用户

发布于 2021-09-17 14:17:47

  1. 您需要删除其他所有内容,只留下FWA_BATCH_PROCESSOR.SETUTLFILEOFF
  2. 一个JDBC请求采样器-一个SQL语句
  3. 在每个语句中使用JMeter 回路控制器和单个JDBC请求采样器,或者将所有内容包装到立即执行中。
  4. 与2相同,每个语句都有一个JDBC请求取样器。

此外:

  • 从各处移除分号
  • 如果要手动提交--将“自动提交”设置为False中的JDBC连接配置

更多信息:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69224564

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档