Plsql 通过oracle数据库调用odi包或接口的任何方法

Plsql 通过oracle数据库调用odi包或接口的任何方法,plsql,oracle-data-integrator,Plsql,Oracle Data Integrator,我需要通过数据库参数化过程执行odi包/映射,同时还需要在过程中捕获包/映射状态(失败/通过) ODI版本:12c 我已经尝试了上面提到的代码,它显示了附加的错误消息:您可以分两步执行: 创建将运行shell脚本/行命令的plsql过程 line命令将调用映射的ODI场景 您可以通过以下方式实现第一点 执行命令行的PL/SQL过程: 创建或替换过程主机(varchar2中的cmd) 作为 状态号; 开始 dbms_pipe.pack_消息(cmd); 状态:=dbms_管道。发送_消息('HOS

我需要通过数据库参数化过程执行odi包/映射,同时还需要在过程中捕获包/映射状态(失败/通过)

ODI版本:12c


我已经尝试了上面提到的代码,它显示了附加的错误消息:

您可以分两步执行:

  • 创建将运行shell脚本/行命令的plsql过程
  • line命令将调用映射的ODI场景
  • 您可以通过以下方式实现第一点

    执行命令行的PL/SQL过程:

    创建或替换过程主机(varchar2中的cmd)
    作为
    状态号;
    开始
    dbms_pipe.pack_消息(cmd);
    状态:=dbms_管道。发送_消息('HOST_管道');
    如果为(状态0),则引发应用程序错误(-20001,“管道错误”);
    如果结束;
    结束;
    /
    

    第二点写在ODI文档的第章

    是的,我的答案就是这样。。读一读或者告诉我你不喜欢什么。。制作一个将在UNIX系统上执行以下语句的过程:./startsen.sh-INSTANCE=[][-AGENT_URL=][-ASYNC=yes | no][-NAME=][-SESSION_NAME=][-KEYWORDS=][][=]*@RajeshKumar,示例已在文章中。在这里,您可以看到创建过程的代码。创建它之后,可以启动如下命令:
    exechost('./abc.sh')当我尝试创建上述过程时,为什么会收到错误消息?那么错误是在您保存过程时?当您运行它时就不会了?关于通过Pl/sql过程调用odi包/os命令有什么帮助吗?