注册

ORACLE的存储过程迁移到达梦后,执行报错。

LEO(ಡωಡ) 2025/02/07 394 2 已解决

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】: DM8
【操作系统】:CentOS 7.6
【CPU】: X86
【问题描述】*:
存储过程如下:
CREATE OR REPLACE FUNCTION XNQQ.XNQQ_F_JYW_DATA_2 (VARCHAR_IN IN VARCHAR2, SECRETKEY_IN IN VARCHAR2, TYPE_IN IN VARCHAR2)
RETURN VARCHAR2 IS
-- 加密内容 AL32UTF8 ZHS16GBK
VARCHAR_IN_RAW RAW(3000) := UTL_I18N.STRING_TO_RAW(VARCHAR_IN, 'ZHS16GBK');
-- key
KEY_VARCHAR VARCHAR2(512) := SECRETKEY_IN;
KEY_RAW RAW(512) := UTL_I18N.STRING_TO_RAW(KEY_VARCHAR);
-- 结果
RES VARCHAR2(4000);
VAR_RAW RAW(4000);
BEGIN
IF TYPE_IN = 'E' THEN
-- 生成JYW
VAR_RAW := UTL_RAW.BIT_XOR(VARCHAR_IN_RAW, KEY_RAW);
-- raw转码base64
RES := UTL_ENCODE.base64_encode(VAR_RAW);
--dbms_output.put_line('JYW: ' || RES);
END IF ;
RETURN RES;
END;

ORACLE执行结果:
11111.png

达梦执行结果:
微信图片_20250207173826.png

回答 0
暂无回答
扫一扫
联系客服