我正在尝试插入用户安全问题的答案,以用于 pin 重置功能。
Ellucian banner v8+ 提供了一个 API 来运行它,我对他们的 API 非常陌生,从下面的错误消息的外观来看,我离正确运行它还很远。任何帮助表示赞赏。
我尝试在 Oracle SQL Developer 中运行它:
execute gb_pin_answer.p_create(
P_PIDM => 12345,
P_NUM => 1,
p_gobqstn_id => 1,
p_qstn_desc => '',
p_ansr_desc => 'David',
p_ansr_salt => 'A123B456',
p_user_id => 'W:H12345678',
p_data_origin => 'WWW_USER',
p_rowid_out OUT gb_common.internal_record_id_type
);
这是在黑暗中拍摄的,但我想我会试一试,尝试执行该包的 p_create 函数时会显示错误消息:
从命令中的第 15 行开始出错:执行 gb_pin_answer.p_create( 错误报告:ORA-06550:第 1 行,第 30 列:PLS-00103:遇到符号“;”当预期以下情况之一时:
( ) - + case mod new not null table continue avg count current exists max min prior sql stddev sum variance execute multiset the bothleading trailing forall merge year month day hour minute second timezone_hour timezone_minute timezone_region timezone_abbr time timestamp interval date 06550. 00000 - "line %s,列 %s:\n%s" *原因:通常是 PL/SQL 编译错误。*行动:
从命令中的第 16 行开始出错:P_PIDM => 12345,错误报告:未知命令
错误从命令中的第 17 行开始:P_NUM => 1,错误报告:未知命令
从命令中的第 18 行开始出错:p_gobqstn_id => 1,错误报告:未知命令
从命令中的第 19 行开始出错:p_qstn_desc => '',错误报告:未知命令
从命令中的第 20 行开始出错:p_ansr_desc => 'David',错误报告:未知命令
从命令中的第 21 行开始出错:p_ansr_salt => 'A123B456',错误报告:未知命令
从命令中的第 22 行开始出错:p_user_id => 'W:H12345678',错误报告:未知命令
从命令中的第 23 行开始出错:p_data_origin => 'WWW_USER',错误报告:未知命令
从命令中的第 24 行开始出错:p_rowid_out OUT gb_common.internal_record_id_type 错误报告:未知命令
错误从命令中的第 25 行开始:) 错误报告:未知命令
这是我阅读使用此功能 p_create 的地方:http://inb1.banner.ecu.edu:9090/api_erd_index_guide/api/general/gb_pin_answer.html# p_create
更新:出错的代码:
SET SERVEROUTPUT ON
declare
l_rowid_out gb_common.internal_record_id_type;
BEGIN
gb_pin_answer.p_create(P_PIDM => 36706, P_NUM => 1, P_GOBQSTN_ID => 1, P_QSTN_DESC => '', P_ANSR_DESC => 'David', P_ANSR_SALT => 'HB123456', P_USER_ID => 'H00036657', P_DATA_ORIGIN => 'WWW_USER', P_ROWID_OUT => 1_rowid_out);
dbms_output.put_line('rowid: ' || l_rowid_out);
END;
错误信息:
错误报告:ORA-06550:第 4 行,第 199 列:PLS-00363:表达式 '1' 不能用作赋值目标 ORA-06550:第 4 行,第 3 列:PL/SQL:语句被忽略 06550.00000 -“行%s,列 %s:\n%s" *原因:通常是 PL/SQL 编译错误。*行动: