gpt4 book ai didi

java - PL/SQL 过程中的长 Activity session

转载 作者:太空宇宙 更新时间:2023-11-04 12:33:45 26 4
gpt4 key购买 nike

我们正在 Java 代码中调用 PL/SQL 存储过程。有时,包需要很长时间才能返回结果。是否可以从 PL/SQL 调用中出来并用 java 编写日志?

请看下面的Java代码:

long startTime = 0L;
long endTime = 0L;
startTime = System.currentTimeMillis();
logger.info("Starting Time PKGSM2_TOOLS Alerts Package ------->"+startTime);
CallableStatement statement= con.getConnection().prepareCall("{call PKGSM2_CONTROL_CHART.PROC_INDICATORCHART_ECHARANGE(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}");
statement.executeQuery();
endTime = System.currentTimeMillis();
logger.info("Ending Time PKGSM2_TOOLS Alerts Package ------->"+endTime);
logger.info("Total Package Execution Time Duration of Alerts Package ------->"+(endTime - startTime)+"ms");

在上面的代码中,如果 PL/SQL 包花费更多时间并且请求驻留在包内。如果套餐调用时间超过2分钟,是否可以退出通话?

PL/SQL 存储过程中长时间 Activity session 的原因是什么?

最佳答案

您可以使用 Utl 文件

Use UTL_FILE.PUT_LINE , how to do file append in pl/sql

CREATE OR REPLACE PROCEDURE SHAREFLE IS
v_MyFileHandle UTL_FILE.FILE_TYPE;
BEGIN
v_MyFileHandle := UTL_FILE.FOPEN('C:\','HELLO.TXT','a');
UTL_FILE.PUT_LINE(v_MyFileHandle, 'Hello Again for the Second Time! ' || TO_CHAR(SYSDATE,'MM-DD-YY HH:MI:SS AM'));
UTL_FILE.FCLOSE(v_MyFileHandle);
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE
('ERROR ' || TO_CHAR(SQLCODE) || SQLERRM);
NULL;
END;

关于java - PL/SQL 过程中的长 Activity session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37560909/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com