`

获取ODI package中任何一个对象执行失败的错误信息

    博客分类:
  • ODI
阅读更多

原文链接:http://odiexperts.com/get-the-error-message-of-any-failed-odi-objects-inside-package/

**********翻译的不好请见谅**************************

Get the Error Message of any Failed ODI objects inside Package

获取ODI package中任何一个对象执行失败的错误信息

 

When we have multiple Interface, Variable  and other ODI objects inside the Child Package  and when such Child Package Fails we get the Error message ‘The scenario did not end properly’  and we need to look into the operator .

当我们的ODI package中含有多个接口,变量和其他ODI 对象时,当这个package执行失败时我们会得到'The secenario did not ent properly',因此我们需要查看其内部的执行结果。

Here is a simple code  and process which can look into the Child Session and get the correct error message and also later we can capture the same in the Error Log .

本文给出一个程序案例,演示如何获取一个package包运行中的子会话的准确错误信息,并且捕获这些信息到错误日志。



 

Create a Global Variable called "GET_ERROR_MSG" and paste the following codes ,  so you can call and use it for multiple package.

创建一个全局变量"GET_ERROR_MSG" 并且指定如下SQL,你可以在任何一个package中使用这个全局变量。

SELECT ' The  '||CASE
WHEN SSS.STEP_TYPE='F' THEN 'INTERFACE'
WHEN SSS.STEP_TYPE='VD' THEN 'VARAIBLE DECLARATION'
WHEN SSS.STEP_TYPE='VS' THEN 'SET/INCREMENT VARAIBLE'
WHEN SSS.STEP_TYPE='VE' THEN 'EVALUATE VARIABLE'
WHEN SSS.STEP_TYPE='V' THEN 'REFRESH VARIABLE'
WHEN SSS.STEP_TYPE='T' THEN 'PROCEDURE'
WHEN SSS.STEP_TYPE='OE' THEN 'OS COMMAND'
WHEN SSS.STEP_TYPE='SE' THEN 'ODI TOOL'
WHEN SSS.STEP_TYPE='RM' THEN 'REVERSE ENGINEERING MODEL'
WHEN SSS.STEP_TYPE='CM' THEN 'CHECK MODEL'
WHEN SSS.STEP_TYPE='CS' THEN 'CHECK SUB MODEL'
WHEN SSS.STEP_TYPE='CD' THEN 'CHECK DATA STORE'
WHEN SSS.STEP_TYPE='JM' THEN 'JOURNALIZE MODEL'
WHEN SSS.STEP_TYPE='JD' THEN 'JOURNALIZE DATA STORE'
END||' '||SSS.STEP_NAME||
' , has failed due to - '||
SNET.TXT
FROM <%=odiRef.getObjectName("SNP_SESSION")%> SS,
<%=odiRef.getObjectName("SNP_SESS_STEP")%> SSS,
<%=odiRef.getObjectName("SNP_EXP_TXT")%> SNET
WHERE SSS.SESS_NO=SS.SESS_NO
AND SNET.I_TXT=SS.I_TXT_SESS_MESS
AND SNET.TXT_ORD=0
AND SS.PARENT_SESS_NO ='<%=odiRef.getPrevStepLog("SESS_NO")%>'

 [ Note :select the Work repository schema in the variable so that getobjectname can calculate accordingly the values, if in case you are using other schema which have select permission on work Repository schema , replace <%=odiRef.getObjectName("")%> with the required schema name. ]

【注意:在选择工作存储库的方案时,如果你正在使用其他方案,可以用< % = odiRef.getObjectName(" ")% >取代所需的模式名,这样getObjectname方法可以计算相应的值。】

In the first step call an OdiOutFile and uncheck Append option so that new File is created for a daily run  with  Header and Date .

在第一步我们调用OdiOutFile组件,不勾选追加选项,这样可以可以每天创建一个新的带有头和日期的文件。



 

Call the Child package and call the Variable   and  join the KO step ( red) to the Variable so that when ever the Child Package fails only then the variable is called else process the next child Package.

调用package并且下一步调用全局变量,使用KO线连接到变量,这样可以让程序只有在第一个package失败时才会调用变量,否则进行下一个package运行。

In the next step , call the OdiOutFile and mention the path to File mentioned in Step 1 and in the Text mention the variable name and keep repeating the steps for multiple child packages.

在下一步,调用OdiOutFile并且指定在第一部初始化文件时指定的目录,在文本正文指定全局变量的名称'#GET_ERROR_MSG',并在没个package后都重复上述操作。



 

This way you can capture all the Failed ODI objects Error Messages into Single Log and send them as an attachment through OdiSendMail.

这样你就可以捕获任何ODI对象执行过程中的异常信息,并且写入一个日志文件;你也可以调用OdiSendMail将日志文件作为附件发送出去。



 

  • 大小: 30.9 KB
  • 大小: 24.8 KB
  • 大小: 21.1 KB
  • 大小: 29.6 KB
分享到:
评论

相关推荐

    ODI中过程的使用

    ODI中的过程类似数据库中的存储过程为,在ORACLE数据库中可以通过DBLINK实现跨库调用其它数据库的对象(表、视图等),当遇到不同类型的数据时则需要插件并且需要做大量的配置工作(如:ORACLE gateways 可以实现...

    ODI定时执行计划(截图)

    找到D:\ODI\OraHome_1\oracledi\bin目录名为“odiparams.bat”的文件

    ODI定时执行计划

    这时它就按照你在接口或包中定义好的计划去跑了

    ODI培训-ODI流程

    ODI从安装到借口整个流程全部包括,其中还有swf的视频,绝对好使。

    java 调用 odi webservice

    用户需要通过第三方手动调用触发ODI方案的执行从而实现数据的同步。文档中描述了如何创建及调用ODI webservice,包括测试结果,相信对想手动调用实现odi数据同步者会有帮助。

    ODI中变量的使用

    在集成过程中时常出现:多对多、一对多、多对一的现象。 多对多:源数据库会定期生成数据表来存储数据,如财务系统每个月生成一张工资发放表,在集成时目标也要跟据源头一样每月生成一张工资表。 一对多:源数据库是...

    信息技术最佳实践-Oracle ODI之入门开发

    信息技术最佳实践-Oracle ODI之入门开发;

    ODI教程

    ODI教程

    ODI系统架构介绍

    ODI系统架构介绍, Odi architecture introduction

    ODI10安装资料文档

    4 ODI客户端图形化软件和ODI Agent安装步骤 2 4.1 安装 2 5 JDBC/JMS驱动安装步骤 6 6 ODI客户端图形化软件和ODI Agent配置步骤 7 6.1 资料库存储空间 7 6.2 创建资料库用户 7 6.3 创建主资料库 7 6.4 连接主资料库 ...

    odi 知识模块开发

    odi 知识模块开发odi 知识模块开发odi 知识模块开发odi 知识模块开发odi 知识模块开发

    ODI技术说明白皮书(中文)

    描述ORACLE ODI 技术说明白皮书《中文翻译版》

    ODI代理找不到驱动

    在ODI11.1.1.5.0中创建了Microsoft Sql Server的服务器, JDBC驱动程序名称选择了Microsoft SQL Server 2005 Driver for JDBC (com.microsoft.sqlserver.jdbc.SQLServerDriver) 所有参数配置妥当,进行测试时,...

    Oracle ODI使用手册

    Oracle ODI使用手册 详细讲解如何使用Oracle ODI

    oralce odi 培训11

    oralce odi 培训11

    ODI集成工具使用

    讲述了ODI的操作及内部原理,图文并茂,非常详细

    Oracle ODI用户指南

    ODI用户指南,为学习ODI的朋友提供方便,总共分六大章节介绍

    odi清理日志文件.sql

    清理odi日志

    ODI新手操作指南,帮助使用ODI

    使用ODI写的文档,给其他人一些帮助。配置、过程、使用

Global site tag (gtag.js) - Google Analytics