外部命令,return Oracle Apex 的外部变量?

External command, return external variables to Oracle Apex?

我有一个我创建的 Oracle Apex 5 应用程序。它与我编写的后端 perl 适配器完美配合,但我需要对插入部分进行更改,该部分当前来自后端脚本 运行。我需要让顶点为我做插入。问题是我需要插入数据库的一些变量在 Apex 中不可用,因为 perl 脚本将获取这些变量,因此我最初使用 perl 脚本进行插入的原因。

所以解释一下我的意思。我会将 IP 地址和 SNMP 社区从 Apex 传递到脚本。该脚本将 运行 一个带有 IP 和社区的 SNMP get 命令,并取回包含设备主机名的 Sysname OID。 Apex 不知道这个主机名,因此我需要找到一种方法将其发送回 Apex,以便我可以进行插入。一种方法是使用设备名称创建一个临时数据库 table,例如从那里开始,但这并不理想。

所以我有一个表格,有人会填写所有的细节。当他们提交表单时,按钮 运行 将执行以下过程。

DECLARE

myipaddress VARCHAR2(50);
username VARCHAR2(50);
mydevicename VARCHAR2(50);
mycommstring VARCHAR2(50);
mydomain VARCHAR2(50);
sys_owner VARCHAR2(200);
platform VARCHAR2(200);
subservice VARCHAR2(200);
domain VARCHAR2(200);
state VARCHAR2(200);
department VARCHAR2(200);
location VARCHAR2(200);
city VARCHAR2(200);
region VARCHAR2(200);
country VARCHAR2(200);
sub_cont VARCHAR2(200);
continent VARCHAR2(200);
mykeyvalue VARCHAR2(50);
mycreate VARCHAR(200);
mytask VARCHAR2(200);
tmpvar VARCHAR2(30);
sleep VARCHAR2(200);
actual VARCHAR2(200);
BEGIN


actual := 'Discover';
username := :P43_USERNAME;
myipaddress := :P43_IP_ADDRESS;
mycommstring := :P43_SNMP_COMMUNITY;
sys_owner := :P43_OWNER;
platform := :P43_PLATFORM;
subservice := :P43_SUBSERV;
domain := :P43_DOMAIN;
state := :P43_MON_STATE;
department := :P43_DEPARTMENT;
location := :P43_LOCATION;
city := :P43_CITY;
region := :P43_REGION;
country := :P43_COUNTRY;
sub_cont := :P43_SUB_CONTINENT;
continent := :P43_CONTINENT;
mycreate := SYSDATE;
select TO_CHAR(SYSDATE,'YYYYMMDDHHMISS') into mykeyid from dual;
mytask := 'Verify';

VERIFY(username, myipaddress, mycommstring, sys_owner, platform, subservice, domain, state, department, location, city, region, country, sub_cont, continent, mycreate, actual);
dbms_lock.sleep( 10 );
END;

VERIFY 部分将所有表单详细信息发送到外部脚本,该脚本会进行一些检查等。获取其他项目,如序列号、设备名称等,需要将其插入 Table .因此,从 perl 脚本中插入的内容不仅仅是 IP、服务等,根据表格。

任何帮助都会很棒,我只需要一种简单的方法来让一些变量从外部命令传回 Apex。提前致谢!

PS!!请不要评判我所有的声明等,这是一个测试 PL/SQL 程序,我用它来添加和删除东西,直到我对我的应用程序感到满意为止:)

所以我整理好了。我阅读了很多关于 dbms_output 的文章,并设法从中捕捉到我的外在价值观。