Informatica_PowerCenter 参数和变量使用指南
Informatica Powercenter Load介绍

Informatica Powercenter LOAD方式配置说明利用该方式进行数据加载,适用于目标数据库是Sybase IQ,具体步骤如下: 通过PowerCenter Designer设计一个目标数据库为SybaseIQ的mapping名称为:m_DW_ID_SIXIDX_MK_all。
通过PowerCenter Workflow Manager设计一个Workflow关联对应的mapping,其WorkFlow名称为wf_YX_DW_all,Session名称为s_DW_ID_SIXIDX_MK_all。
通过PowerCenter Workflow Manager建一个LOADER连接:Connections->Loader->New连接信息配置名称:LD_SG_DW连接串:ODBC_SG_DW(Powercenter服务器上对应的连接SybaseIQ的ODBC 名称)Server Datafile Directory:$PMTargetFileDir\(Powercenter安装目标表文件的路径,例如:C:\PowerCenter8.1.1\server\infa_shared\TgtFiles\YYJC\SG_DW)session连接信息配置设置文件路径及名称设置数据文件路径:$PMTargetFileDir\YYJC\SG_DW\,该路径必须手工在ETL服务器上创建。
设置数据文件名称:DW_ID_SIXIDX_MK.out设置输出文件属性为,以“!”为分隔符。
运行该调度,在$PMTargetFileDir\YYJC\SG_DW\路径下产生2个文件,分别为控制文件DW_ID_SIXIDX_MK.out.ctl(存放LOAD脚本);数据文件:DW_ID_SIXIDX_MK.out(存放以“!”为分隔符的数据)。
在$PMTargetFileDir\YYJC\SG_DW\下新建一个SQL文件夹,并在SQL文件夹下创建SQL脚本文件,名称为:DW_ID_SIXIDX_MK.SQL,脚本内容为上面步骤生成的控制文件的部分LOAD脚本加以改造的,其中文件连接需要根据实际情况修改。
Informatica_PowerCenter 参数和变量使用指南

Informatica PowerCenter 参数和变量使用指南中国区唯一总代理神州数码(中国)有限公司2014年目录第一章参数和变量 (3)1、概述 (3)2、参数与变量存在的三种形式 (4)2.1系统级变量 (4)2.2 Mapping级参数与变量 (4)2.3 参数文件级参数与变量 (10)第二章参数文件格式 (12)1、标题格式和适用范围 (12)2、参数和变量类型 (13)3、实例 (13)第三章参数文件使用要点 (15)1、创建准则和使用注意事项 (15)2、PMCMD中使用参数文件 (17)第四章应用案例介绍 (18)1、定义M APPING的变量。
(18)2、在E XPRESSION组件中引用变量 (19)3、定义W ORKFLOW变量 (19)4、在E VENT W AIT组件中引用变量 (20)5、在S ESSION中引用变量 (21)6、在C OMMAND组件中引用变量 (22)7、参数文件定义 (22)8、S ESSION参数文件引用设置 (23)9、W ORKFLOW参数文件引用设置 (24)10、W ORKFLOW流程图 (24)第一章参数和变量1、概述参数和变量可以定义在工作流、工作集或会话中。
您可以使用WordPad 或Notepad 等文本编辑器来创建参数文件。
您在参数文件中列出参数或变量及其值。
参数文件可以包含以下类型的参数和变量:◆Integration Service变量◆Integration Service process变量◆Workflow变量◆Worklet变量◆Session参数◆Mapping参数和变量当您在工作流、工作集或会话中使用参数或变量时,PowerCenter Server将检查参数文件以确定参数或变量的开始值。
您可以使用参数文件来初始化工作流变量、工作集变量、映射参数和映射变量。
如果您不定义这些参数和变量的开始值,PowerCenter Server将在其它位置检查参数或变量的开始值。
Informatica 参数的使用

1、定义参数文件Mapping Parameters(参数) 和 Variables(变量)的使用如果你在一个mapping中多次用到同一个值,又或者mapping中要用到一个在session运行才能决定的值,这时候可以使用mapping parameters或variable。
Mapping参数变量的命名方式:$$NAME存放参数变量的.txt文件的格式:[folder_name.session_name]parameter_name=valuevariable_name=valuemapplet_name.parameter_name=value[folder_name.session2_name]parameter_name=valuevariable_name=valuemapplet_name.variable_name=value[folder2_name.session_name]parameter_name=valuevariable_name=valuemapplet_name.parameter_name=value例如:[Common_Dimension.s_M_Inventory]$$BeginDate=2007-07-01$$EndDate=2007-07-31$$IsCurrentDay=0$DBConnection_Source=EM$DBConnection_Target=DC$PMSessionLogDir=C:\para2、添加参数或变量的方法是:选择Mappings-Parameters and Variables,在窗口新增变量或者参数,并对它的数据类型,数据大小,初始值进行设置。
添加的参数和变量在本mapping 的transformation的表达式中就可以使用了。
这些参数和变量的值还可以设置在.txt文件中,建session或者batch的时候把这个文件的路径设置在Parameter输入框中就行了。
Informatica PowerCenter常用转换组件使用说明

Informatica PowerCenter常用转换组件使用说明
1 Expression 作用:实现基于单行记录的表达式计算,执行任意非聚合计算。 用法:创建Expression 组件后,将需要用的字段从上一端口拖曳到Expression 组件,双击组 件,打开编辑,新增创建所需的输出端口,只勾选“O”为只输出端口,在“Expression”中 编辑表达式,确保分配与表达式返回值相匹配的端口数据类型。输出端口的命名惯例为 OUT_PORTNAME。 可以利用一个Expression 组件实现多个表达式转换工作,只要为多个输出端口输入一个 表达式,就可以在转换中创建任意多个输出端口。 2 Aggregator 作用:对多组记录执行聚合计算。 用法:将需要聚合运行的字段拖曳到Aggregator 组件,双击组件,在Port 选项卡中,勾选 要分组的列,新增输出端口,编辑聚合运算表达式。 与sort 组件联合使用可提高性能。 常用属性: Cache Directory 属性:创建索引和数据高速缓存文件的本地目录。 Sorted Input 属性:指示已按组预排序输入数据。用于改善会话性能。只有当映射将已 排序数据传递至聚合转换时,才选择此选项。 Aggregator Data Cache Size 属性:转换的数据高速缓存大小。 Aggregator Index Cache Size 属性:转换的索引高速缓存大小。 Transformation Scope 属性:指定PowerCenter Server 如何将转换逻辑应用于接收数据: -Transaction。将转换逻辑应用于事务中的所有行。如果数据行取决于同事务中的 所有行,但与其它事务中的行无关,则选择“Transaction”。 -All Input。将事务逻辑应用于所有传入数据。选择“All Input”时,PowerCenter 将放弃接收事务边界。如果数据行取决于源中的所有行,请选择“All Input”。 4 聚合函数: AVG COUNT FIRST LAST MAX MEDIAN MIN PERCENTILE STDDEV SUM VARIANCE 只允许聚合表达式出现在Aggregator Transformation 组件中。聚合表达式可以包括条件 子句和非聚合函数。还可以包括一个嵌入另一聚合函数的聚合函数,例如: MAX(COUNT(ITEM)) 可以在任意输出端口创建聚合表达式并使用转换中的多个聚合端口。
Informatica_PowerCenter安装指南 (2)

Informatica PowerCenter安装指南(2)目录简介: (2)目标程序: (2)安装环境: (3)假设: (3)前置任务: (3)数据库需求: (3)PowerCenter域配置存储库 (3)PowerCenter 存储库 (4)安装JRE: (4)环境变量设置: (4)安装服务器端: (5)配置服务器端: (6)创建PowerCenter存储库服务: (7)创建PowerCenter集成服务: (9)简介:PowerCenter是Informatica出品的数据中心管理工具集中的一个产品,主要用于设计和完成ETL过程,其中又包含多个子产品,如Data Profiling和Data Analyzer,其服务器端的架构如下:如上图所示,PowerCenter服务器端由被配置在同一域(PowerCenter domain)中的一组计算机组成。
此组计算机可以master-slaves的方式协作,也可以网格方式进行分布式运算?(待求证)。
一个PowerCenter domain中可以配有多个gateway nodes,但只有一个能被设为master,所有对该域的访问均由该结点路由;其余gateway可作为备份。
该服务器段采用面向服务架构,除Service Manager和PowerCenter Administrator这两个服务必须运行在master gateway机器上以外,其他服务均可部署在同一域中的其他结点上,由master gateway提供统一的访问。
对于ETL流程而言,PowerCenter Repository Service和PowerCenter Integration Service为核心服务。
只要安装和部署成功这两个服务,即可执行ETL流程,其他服务为可选服务,当购买了其他产品后才(如Analyst Service为PowerCenter Analyzer的依赖服务)需要。
原创Informatica使用说明(图解)

Informatica使用说明(图解)唾沫星冲锋枪 2013-4-22目录前言 (3)第一篇环境搭建 (3)服务器 (3)准备 (3)安装 (3)配置 (17)客户端 (23)准备 (23)安装 (24)介绍 (28)第二篇开发应用 (28)Repository Manager (28)环境介绍 (28)配置目录 (31)Designer (33)环境介绍 (33)配数据源 (34)引入数据源 (36)引入数据目标表 (38)制作Mapping (40)WorkFlow Manager (43)制作session (43)配置服务器数据源 (44)配置session源 (46)配置session目标 (47)制作workflow (48)执行workflow (50)WorkFlow Monitor (50)第三篇监控维护 (51)基本信息查看 (51)运行时间查看 (51)Session日志查看 (52)Workflow日志查看 (52)结束语 (53)前言个人从事ETL方面工作多年,各种工具都有一定了解,POWERCENTER是较为优秀的产品之一。
POWERCENTER是C/S模式,客户端开发服务器运行,本文主要介绍POWERCENTER 基本使用部分,详细的各个组件使用可以查阅相关帮助文档。
第一篇环境搭建服务器准备因为INFORMATICA把配置信息和开发的ETL过程信息都保存在资料库里,所以要预先准备一个数据库资料库。
本文采用oracle做资料库,名称INFO用户INFO密码INFO,配置好数据库的监听。
安装找到软件SERVER目录下的install.bat运行。
POWERCENTER的授权文件是按数据库接口出售的,支持数据库越多价格越高。
这里请注意配置,之前准备好的数据库资料库。
安装完成后可以查看一下服务项里面是否正常。
安装补丁。
因机器不同选择相应的补丁版本,如64位server系统需要补丁。
InformaticaPowerCenter调用存储过程

InformaticaPowerCenter调用存储过程1平台说明1.1InformaticaETL(10.240.3.35)1.1.1软硬件配置2实现过程本次示例使用组织部门层级无级树展开为横向层级关系,使用非连结存储过程调用。
步骤:1)存储过程由组织部门层级无级树DW_DIM_DEPARTMENT表读出,调用定义递归函数GET_LONGDEPT、GET_LONGDEPT_CODE写入到横向展开临时表DW_DIM_DEPARTMENT_TEMP;2)再将展开临时表DW_DIM_DEPARTMENT_TEMP的层级更新到DW_DIM_DEPARTMENT表;3)于PowerCenter中当DW_DIM_DEPARTMENT由源表BD_DEPTDOC全表更新后,再调用SP_DW_DIM_DEPT_LONGDEPT实现;2.1BI数据库创建存储过程在目标数据库中创建并调试完成所需使用的存储过程,。
存储过程:SP_DW_DIM_DEPT_LONGDEPT为例,结果如下:2.1.1SP_DW_DIM_DEPT_LONGDEPT:CREATEORREPLACEPROCEDURESP_DW_DIM_DEPT_LONGDEPTISBEGIN--某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某--名称:SP_DW_DIM_DEPT_LONGDEPT--创建日期:2022-12-31--调度描述:暂无调度,提供给INFOMATICA的mapping:m_DW_DIM_DEPARTMENT2/14调用--最后修改人:outton--最后修改日期:2022-04-19--修改内容:增加取展开的部门编码--某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某DELETEDW_DIM_DEPARTMENT_TEMP;INSERTINTODW_DIM_DEPARTMENT_TEMP(PK_DEPTDOC,LONGDEPT,LONGDEPTCODE)SELECTT.PK_DEPTDOC,GET_LON GDEPT(PK_DEPTDOC),GET_LONGDEPT_CODE(PK_DEPTDOC)FROMDW_DIM_DEPARTMENTT;UPDATEDW_DIM_DEPARTMENTTSETLONGDEPT=(SELECTL.LONGDEPTFROMDW_DIM_DEPARTMENT_TEMPLWHEREL.PK_DEPTDO C=T.PK_DEPTDOC)||'>',LONGDEPTCODE=(SELECTL.LONGDEPTCODEFROMDW_DIM_DEPARTMENT_TEMPLWHEREL.PK_DE PTDOC=T.PK_DEPTDOC)||'>';COMMIT;ENDSP_DW_DIM_DEPT_LONGDEPT;2.1.2表结构2.1.2.1DW_DIM_DEPARTMENT_TEMPDW_DIM_DEPARTMENT_TEMPcreatetableDW_DIM_DEPARTMENT_TEMP(PK_DEPTDOCCHAR(20)notnull,LONGDEPTVARCHAR2(500),LONGDEPTCODE VARCHAR2(500));i'部门信息';3/14i'部门档案主键';2.1.2.2DW_DIM_DEPARTMENTcreatetableDW_DIM_DEPARTMENT(PK_DEPTDOCCHAR(20)notnull,DEPTCODEVARCHAR2(40),DEPTLEVELCHAR (20),DEPTNAMEVARCHAR2(200),DEPTSHORTNAMEVARCHAR2(200),DEPTTYPENUM BER,PK_FATHEDEPTCHAR(20),PK_PSNDOCCHAR(20),LONGDEPTVARCHAR2(500),LONGDEPTCODEVARCHAR2(500));4/14--Create/Recreateprimary,uniqueandforeignkeycontraintaltertableDW_ DIM_DEPARTMENTaddcontraintPK_DW_DIM_DEPARTMENTprimarykey(PK_DEPTDOC);2.1.2.3BD_DEPTDOCCREATETABLEBD_DEPTDOC(PK_DEPTDOCCHAR(20)NOTNULL,DEPTCODEVARCHAR(40),DEPTLEVELCHAR( 20),DEPTNAMEVARCHAR(200),DEPTSHORTNAMEVARCHAR(200),DEPTTYPEINTEGER,PK_FATHEDEPTCHAR(20),PK_PSNDOCCHAR(20));COMMENTONTABLEBD_DEPTDOCIS'部门档案';COMMENTONCOLUMNBD_DEPTDOC.PK_DEPTDOCIS'部门档案主键';COMMENTONCOLUMNBD_DEPTDOC.DEPTCODEIS'部门编码';COMMENTONCOLUMNBD_DEPTDOC.DEPTLEVELIS'部门级别';COMMENTONCOLUMNBD_DEPTDOC.DEPTNAMEIS'部门名称';COMMENTONCOLUMNBD_DEPTDOC.DEPTSHORTNAMEIS'部门简称';COMMENTONCOLUMNBD_DEPTDOC.DEPTTYPEIS'部门类型';COMMENTONCOLUMNBD_DEPTDOC.PK_FATHEDEPTIS'上级部门';COMMENTONCOLUMNBD_DEPTDOC.PK_PSNDOCIS'负责人';2.1.3表数据2.1.3.1BD_DEPTDOCINSERTINTOBD_DEPTDOC(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DEPTNAME, PK_FATHEDEPT)VALUES('1001M01000000000002A','0101','0001M01000000 00000某4','总经办','');INSERTINTOBD_DEPTDOC(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DEPTNAME, PK_FATHEDEPT)VALUES('1001M01000000000002B','010101','0001M010000 0000000某4','维修工程部','1001M01000000000002A');INSERTINTOBD_DEPTDOC(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DEPTNAME, PK_FATHEDEPT)VALUES('1001M01000000000002C','01010101','0001M0100000000000某5','5/14生产部','1001M01000000000002B');INSERTINTOBD_DEPTDOC(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DEPTNAME, PK_FATHEDEPT)VALUES('1001M01000000000002D','010*******','0001M01 00000000000某6','生产部一车间','1001M01000000000002C');INSERTINTOBD_DEPTDOC(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DEPTNAME, PK_FATHEDEPT)VALUES('1001M01000000000002E','010*********','0001M 0100000000000某7','生产部一车间机电组','1001M01000000000002D');INSERTINTOBD_DEPTDOC(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DEPTNAME, PK_FATHEDEPT)VALUES('1001M01000000000002F','010*********','0001M 0100000000000某7','生产部一车间电子组','1001M01000000000002D');INSERTINTOBD_DEPTDOC(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DEPTNAME, PK_FATHEDEPT)VALUES('1001M01000000000002G','010*******','0001M01 00000000000某6','生产部二车间','1001M01000000000002C');INSERTINTOBD_DEPTDOC(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DEPTNAME, PK_FATHEDEPT)VALUES('1001M01000000000002H','010*********','0001M 0100000000000某7','生产部二车间机电组','1001M01000000000002G');INSERTINTOBD_DEPTDOC(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DEPTNAME, PK_FATHEDEPT)VALUES('1001M01000000000002I','010*********','0001M 0100000000000某7','生产部二车间电子组','1001M01000000000002G');INSERTINTOBD_DEPTDOC(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DEPTNAME, PK_FATHEDEPT)VALUES('1001M01000000000002J','010*******','0001M01 00000000000某6','生产部三车间','1001M01000000000002C');INSERTINTOBD_DEPTDOC(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DEPTNAME, PK_FATHEDEPT)VALUES('1001M01000000000002K','010*********','0001M0100000000000某7','生产部三车间EMB机队维护','1001M01000000000002J');INSERTINTOBD_DEPTDOC(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DEPTNAME, PK_FATHEDEPT)VALUES('1001M01000000000002L','010*********','0001M 0100000000000某7','生产部三车间外航维护','1001M01000000000002J');INSERTINTOBD_DEPTDOC(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DEPTNAME, PK_FATHEDEPT)VALUES('1001M01000000000002M','010*********','0001M 0100000000000某7','生产部三车间客舱维护组','1001M01000000000002J');INSERTINTOBD_DEPTDOC(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DEPTNAME, PK_FATHEDEPT)VALUES('1001101000000005BN某Q','010*********','0001M0100000000000某7','生产部三车间机电(外航维护)组','1001M01000000000002J');INSERTINTOBD_DEPTDOC(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DEPTNAME, PK_FATHEDEPT)VALUES('1001101000000005BNY3','010*********','0001M 0100000000000某7','生产部三车间机电(EMB机队维护)组','1001M01000000000002J');INSERTINTOBD_DEPTDOC(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DEPTNAME, PK_FATHEDEPT)VALUES('1001101000000005BNYL','010*********','0001M 0100000000000某7','生产部三车间电子(EMB机队维护)组','1001M01000000000002J');PK_FATHEDEPT)VALUES('1001101000000005BNYP','010*********','0001M 0100000000000某7','生产部三车间电子(客舱维护)组','1001M01000000000002J');INSERTINTOBD_DEPTDOC(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DEPTNAME, PK_FATHEDEPT)6/14VALUES('1001M01000000000002N','010*******','0001M010******** 00某6','生产部四车间','1001M01000000000002C');INSERTINTOBD_DEPTDOC(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DEPTNAME, PK_FATHEDEPT)VALUES('1001M01000000000002O','010*********','0001M 0100000000000某7','生产部四车间FedE某生产组','1001M01000000000002N');INSERTINTOBD_DEPTDOC(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DEPTNAME, PK_FATHEDEPT)VALUES('1001M01000000000002P','010*********','0001M 0100000000000某7','生产部四车间生产控制','1001M01000000000002N');2.1.3.2DW_DIM_DEPARTMENTINSERTINTODW_DIM_DEPARTMENT(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DE PTNAME,PK_FATHEDEPT)VALUES('1001M01000000000002A','0101','0001M0100000000000某4','总经办','');PTNAME,PK_FATHEDEPT)VALUES('1001M01000000000002B','010101','0001M0100000000000某4','维修工程部','1001M01000000000002A');INSERTINTODW_DIM_DEPARTMENT(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DE PTNAME,PK_FATHEDEPT)VALUES('1001M01000000000002C','01010101','00 01M0100000000000某5','生产部','1001M01000000000002B');INSERTINTODW_DIM_DEPARTMENT(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DE PTNAME,PK_FATHEDEPT)VALUES('1001M01000000000002D','010*******','0001M010******** 00某6','生产部一车间','1001M01000000000002C');INSERTINTODW_DIM_DEPARTMENT(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DE PTNAME,PK_FATHEDEPT)VALUES('1001M01000000000002E','010*********','0001M010000000 0000某7','生产部一车间机电组','1001M01000000000002D');INSERTINTODW_DIM_DEPARTMENT(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DE PTNAME,PK_FATHEDEPT)VALUES('1001M01000000000002F','010*********','0001M010000000 0000某7','生产部一车间电子组','1001M01000000000002D');INSERTINTODW_DIM_DEPARTMENT(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DE PTNAME,PK_FATHEDEPT)VALUES('1001M01000000000002G','010*******','0001M010******** 00某6','生产部二车间','1001M01000000000002C');INSERTINTODW_DIM_DEPARTMENT(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DE PTNAME,PK_FATHEDEPT)VALUES('1001M01000000000002H','010*********','0001M010000000 0000某7','生产部二车间机电组','1001M01000000000002G');INSERTINTODW_DIM_DEPARTMENT(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DE PTNAME,7/14PK_FATHEDEPT)VALUES('1001M01000000000002I','010*********','0001M010000000 0000某7','生产部二车间电子组','1001M01000000000002G');INSERTINTODW_DIM_DEPARTMENT(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DE PTNAME,PK_FATHEDEPT)VALUES('1001M01000000000002J','010*******','0001M010******** 00某6','生产部三车间','1001M01000000000002C');INSERTINTODW_DIM_DEPARTMENT(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DE PTNAME,PK_FATHEDEPT)VALUES('1001M01000000000002K','010*********','0001M010000000 0000某7','生产部三车间EMB机队维护','1001M01000000000002J');INSERTINTODW_DIM_DEPARTMENT(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DE PTNAME,PK_FATHEDEPT)VALUES('1001M01000000000002L','010*********','0001M010000000 0000某7','生产部三车间外航维护','1001M01000000000002J');INSERTINTODW_DIM_DEPARTMENT(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DE PTNAME,PK_FATHEDEPT)VALUES('1001M01000000000002M','010*********','0001M010000000 0000某7','生产部三车间客舱维护组','1001M01000000000002J');INSERTINTODW_DIM_DEPARTMENT(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DE PTNAME,PK_FATHEDEPT)VALUES('1001101000000005BN某Q','010*********','0001M0100000000000某7','生产部三车间机电(外航维护)组','1001M01000000000002J');INSERTINTODW_DIM_DEPARTMENT(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DE PTNAME,PK_FATHEDEPT)VALUES('1001101000000005BNY3','010*********','0001M010000000 0000某7','生产部三车间机电(EMB机队维护)组','1001M01000000000002J');INSERTINTODW_DIM_DEPARTMENT(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DE PTNAME,PK_FATHEDEPT)VALUES('1001101000000005BNYL','010*********','0001M010000000 0000某7','生产部三车间电子(EMB机队维护)组','1001M01000000000002J');INSERTINTODW_DIM_DEPARTMENT(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DE PTNAME,PK_FATHEDEPT)VALUES('1001101000000005BNYP','010*********','0001M010000000 0000某7','生产部三车间电子(客舱维护)组','1001M01000000000002J');INSERTINTODW_DIM_DEPARTMENT(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DE PTNAME,PK_FATHEDEPT)VALUES('1001M01000000000002N','010*******','0001M010******** 00某6','生产部四车间','1001M01000000000002C');INSERTINTODW_DIM_DEPARTMENT(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DE PTNAME,PK_FATHEDEPT)VALUES('1001M01000000000002O','010*********','0001M010000000 0000某7','生产部四车间FedE某生产组','1001M01000000000002N');INSERTINTODW_DIM_DEPARTMENT(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DE PTNAME,8/14PK_FATHEDEPT)VALUES('1001M01000000000002P','010*********','0001M010000000 0000某7','生产部四车间生产控制','1001M01000000000002N');2.1.4自定义函数2.1.4.1GET_LONGDEPTCREATEORREPLACEFUNCTIONGET_LONGDEPT(DEPT_IDINVARCHAR2)RETURN VARCHAR2ISV_LONGDEPTVARCHAR2(500);V_DEPT_IDVARCHAR2(30);BEGIN--某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某--名称:GET_LONGDEPT--创建日期:2022-12-31--调度描述:暂无调度,提供给SP_DW_DIM_DEPT_LONGDEPT调用--某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某SELECTDEPTNAME,PK_FATHEDEPTINTOV_LONGDEPT,V_DEPT_IDFROMDW_DI M_DEPARTMENTWHEREPK_DEPTDOC=DEPT_ID;IFV_DEPT_IDISNULLTHENRETURN( V_LONGDEPT);ELSEV_LONGDEPT:=GET_LONGDEPT(V_DEPT_ID)||'>'||V_LONGDEPT;RETURN( V_LONGDEPT);ENDIF;ENDGET_LONGDEPT;2.1.4.2GET_LONGDEPT_CODECREATEORREPLACEFUNCTIONGET_LONGDEPT_CODE(DEPT_IDINVARCHAR2)R ETURN9/14VARCHAR2ISV_LONGDEPT_CODEVARCHAR2(500);V_DEPT_IDVARCHAR2(30);BEGIN--某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某--名称:GET_LONGDEPT_CODE--创建日期:2022-04-19--调度描述:暂无调度,提供给SP_DW_DIM_DEPT_LONGDEPT调用--某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某SELECTDEPTCODE,PK_FATHEDEPTINTOV_LONGDEPT_CODE,V_DEPT_IDFROMDW_DIM_DEPARTMENTWHEREPK_DE PTDOC=DEPT_ID;IFV_DEPT_IDISNULLTHENRETURN(V_LONGDEPT_CODE);ELSE V_LONGDEPT_CODE:=GET_LONGDEPT_CODE(V_DEPT_ID)||'>'||V_LONGDE PT_CODE;RETURN(V_LONGDEPT_CODE);ENDIF;ENDGET_LONGDEPT_CODE;10/142.2使用PowerCenter中StoredProcedureTranformation2.2.1调用StoredProcedureTranformation2.2.1.1创建存储过程2.2.1.2导入存储过程选择相应的数据源,输入对应用户名、密码,即可查找到对应的存储过程SP_DW_DIM_DEPT_LONGDEPT,点击[确定]即可加入。
Informatica+PowerCenter开发配置手册

Informatica PowerCenter Developer Platform开发配置手册编写: 冷鹏版本: 1.1状态:初稿日期:2008年5月29日该文档是基于Informatica PowerCenter Developer Platform SP3 for Win32的环境写的,主要介绍开发平台的安装配置步骤,针对开发调试中出现的错误信息提出解决办法。
版权信息:© Copyright DigitalChina 2008.本文档未经许可,任何单位及个人不得传播、涉露本文档信息,违者必究编写历史目录1介绍 (4)1.1背景 (4)2开发平台安装 (5)2.1安装准备 (5)2.2安装步骤 (5)2.3配置说明 (7)2.3.1 环境变量 (7)2.3.2 相关文件拷贝 (8)2.3.3 端口号配置 (8)2.3.4 样本脚本修改 (9)3样例介绍 (10)3.1JAVA应用程序样例 (11)3.2Web JSP应用样例 (14)4参考 (19)4.1示例参考 (19)4.2示例参考 (19)1 介绍1.1 背景由于有越来越多的神州数码用户需要将Informatica开发的应用部署到企业系统中,如将Informatica Client中的ETL任务调度、监控功能嵌入到企业系统应用平台中。
而目前向Informatica Service发送任务请求的途径有3种方式,一种是常用的Informatica Client方式,如PowerCenter Workflow Manager执行任务调度;一种是命令行方式,如通过PMCMD方式执行StartWorkflow;还有一种就是通过Developer Platform API接口方式来执行任务调用,可开发Java或C/C++接口内嵌到应用程序或Web平台上进行使用,这样可将ETL功能与企业原应用系统整合起来。
因此该文档是基于第3种方式,力求给这些用户在安装配置InformaticaPowerCenter Developer Platform时一些帮助,文档是基于Informatica PowerCenter DeveloperPlatform SP3 for Win32的环境写的,主要介绍开发平台的安装配置步骤、Load Manager Java API样例介绍,针对开发调试中出现的错误信息提出析疑。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Informatica PowerCenter 参数和变量使用指南中国区唯一总代理神州数码(中国)有限公司2014年目录第一章参数和变量 (3)1、概述 (3)2、参数与变量存在的三种形式 (4)2.1系统级变量 (4)2.2 Mapping级参数与变量 (4)2.3 参数文件级参数与变量 (10)第二章参数文件格式 (12)1、标题格式和适用范围 (12)2、参数和变量类型 (13)3、实例 (13)第三章参数文件使用要点 (15)1、创建准则和使用注意事项 (15)2、PMCMD中使用参数文件 (17)第四章应用案例介绍 (18)1、定义M APPING的变量。
(18)2、在E XPRESSION组件中引用变量 (19)3、定义W ORKFLOW变量 (19)4、在E VENT W AIT组件中引用变量 (20)5、在S ESSION中引用变量 (21)6、在C OMMAND组件中引用变量 (22)7、参数文件定义 (22)8、S ESSION参数文件引用设置 (23)9、W ORKFLOW参数文件引用设置 (24)10、W ORKFLOW流程图 (24)第一章参数和变量1、概述参数和变量可以定义在工作流、工作集或会话中。
您可以使用WordPad 或Notepad 等文本编辑器来创建参数文件。
您在参数文件中列出参数或变量及其值。
参数文件可以包含以下类型的参数和变量:◆Integration Service变量◆Integration Service process变量◆Workflow变量◆Worklet变量◆Session参数◆Mapping参数和变量当您在工作流、工作集或会话中使用参数或变量时,PowerCenter Server将检查参数文件以确定参数或变量的开始值。
您可以使用参数文件来初始化工作流变量、工作集变量、映射参数和映射变量。
如果您不定义这些参数和变量的开始值,PowerCenter Server将在其它位置检查参数或变量的开始值。
您可以将参数文件放置在PowerCenter Server计算机上,也可以放置在本机上。
如果您无法访问PowerCenter Server计算机上的参数文件,请使用本地参数文件。
使用本地参数文件时,pmcmd会将文件中的变量和值传递到PowerCenter Server。
本地参数文件可以与startworkflow pmcmd命令配合使用。
您必须在参数文件中定义会话参数。
由于会话参数没有默认值,因此如果PowerCenter Server 在参数文件中找不到会话参数的值,就无法初始化会话。
通过为参数文件中的每个对象单独创建分区,您可以在一个参数文件中包含多个工作流、工作集或会话的参数或变量信息。
您还可以为单个工作流、工作集或会话创建多个参数文件,并在必要时更改这些任务使用的文件。
要指定PowerCenter Server 用于工作流、工作集或会话的参数文件,您可以执行以下任一项操作:◆在工作流、工作集或会话属性中输入参数文件名和目录。
◆使用pmcmd 启动工作流、工作集或会话,然后在命令行中输入参数文件名和目录。
如果您同时在工作流、工作集或会话属性以及pmcmd 命令行中输入参数文件名和目录,PowerCenter Server 将使用您在pmcmd 命令行中输入的信息。
参数文件的应用体现在以下几个方面:◆对源文本文件名进行参数化◆对源表名进行参数化◆对目标输出文本文件名进行参数化◆对源与目标的数据库连接进行参数化◆对日志文件及路径进行参数化2、参数与变量存在的三种形式2.1系统级变量✓SYSDATE 系统日期✓SESSSTARTTIME SESSION启动时间✓$$$SessStartTime 返回Session启动时间的字符串值2.2 Mapping级参数与变量在Designer 中,您可以使用映射参数和变量,让映射变得更灵活。
映射参数和变量表示映射和映射组件中的值。
如果在映射中声明映射参数和变量,那么您可以在会话中,通过更改映射的参数和变量值,来重新使用该映射。
这可以减少创建多个映射所带来的管理费用,因为只需更改映射中的某些特性即可。
在映射中使用映射参数或变量时,您要先声明映射参数或变量供每个映射组件或映射使用。
然后,在运行会话之前,您要为映射参数或变量定义值。
您可以在映射中使用映射参数和变量来增量提取数据。
在“源限定符”转换的源过滤器中使用映射参数或变量可以确定增量提取数据的开始时间标记和结束时间标记。
例如,您可以创建用户定义的映射变量$$LastUpdateDateTime,用以保存PowerCenter Server 在上一个会话中读取的最后一行的时间标记。
在源过滤器中,将$$LastUpdateDateTime 用于开始时间标记,而将内置变量$$$SessStartTime 用于结束时间标记。
使用以下过滤器基于源中的SALES.sales_datetime 列增量提取数据:SALES.sales_datetime > TO_DATE (‘$$LastUpdateDateTime’)AND SALES.sales_datetime < TO_DA TE (‘$$$SessStartTime’)2.1.1 Mapping参数映射参数表示在运行会话之前您可以定义的常量值。
映射参数在整个会话中保持相同的值。
使用映射参数时,您要在映射或映射组件中声明并使用该参数。
然后在参数文件中定义该参数的值。
在会话过程中,PowerCenter Server 将依照该值对参数的所有引用进行计算。
例如,您希望使用相同的会话来分别提取每个客户的事务记录。
您可以创建一个映射参数以表示单个客户帐户,而无需为每个客户帐户创建单独的映射。
然后,您可以在源过滤器中使用该参数,只提取该客户帐户的数据。
运行会话之前,您需要在参数文件中输入该参数的值。
要重新使用相同的映射来提取其他客户帐户的记录,您可以在参数文件中为该参数输入新的值,然后运行会话。
或者,您可以为每个客户帐户创建参数文件,然后每当使用pmcmd 时就以不同的参数文件启动会话。
通过使用参数文件,您可以减少创建多个映射和会话(用于提取不同客户帐户的事务记录)所带来的管理费用。
每当您运行会话时,如果要使用映射参数的相同值,请对每个会话运行使用相同的参数文件。
要在会话之间更改映射参数的值时,您可以执行以下任一操作:◆更新会话之间的参数文件。
◆创建不同的参数文件并配置会话使用新的文件。
◆从会话属性中移除参数文件,以便会话使用映射中参数的配置初始值。
◆选择类型为参数2.2.2 Mapping变量与映射参数不同的是,映射变量表示在会话进行时一个可以改变的值。
在每个会话成功运行后,PowerCenterServer 都会将映射变量的值保存到资料库并在下次您运行此会话时使用该值。
使用映射变量时,您要在映射或映射组件中对该变量进行声明,然后在映射中使用变量函数来更改变量的值。
会话开始时,PowerCenter Server 将依照变量的开始值对变量的引用进行计算。
会话成功结束后,PowerCenter Server 会将变量的最终值保存至资料库。
下次您运行该会话时,PowerCenter Server 将依照保存的值对变量的引用进行计算。
通过在参数文件中定义变量的开始值,您可以覆盖保存的值。
使用映射变量来执行源的增量读取。
例如,假设以上映射参数示例中客户帐户的编号是从001 至065,增量为1。
您可以创建初始值为001 的映射变量,而无需创建映射参数。
在映射中,使用一个变量函数给变量值加1。
PowerCenter Server 首次运行会话时,它将提取客户帐户001 的记录。
会话结束时,它将给变量加1,并将该值保存到资料库。
下次PowerCenter Server 运行会话时,它将提取下一个客户帐户002 的数据。
它同时还增加变量值,因此下一个会话将提取并查找客户帐户003 的数据。
选择类型为变量2.2.3 使用Mapping参数和变量您可以使用Mapping Designer 或Mapplet Designer 创建映射参数和变量。
映射参数和变量在创建后出现在“表达式编辑器”的“变量”选项卡中。
您可以在映射组件或映射的任何表达式中使用这些参数和变量。
Designer 在映射组件和映射的“表达式编辑器”中对映射参数和变量进行验证。
您可以在映射组件或映射的源限定符中使用映射参数和变量。
在“源限定符”转换中使用映射参数和变量时,Designer 会展开映射参数和变量,然后再将查询传递至源数据库以进行验证。
这允许源数据库验证查询。
使用Transformation Developer 创建可再用转换时,您可以使用任何映射参数或变量。
由于可再用转换未包含在任何映射组件或映射中,Designer 将验证任意映射参数或变量在可再用转换表达式中的使用。
在映射组件或映射中使用可再用转换时,Designer 将再次对该表达式进行验证。
如果在映射组件或映射中没有定义参数或变量,或在可再用转换中错误使用参数或变量,那么当您对映射组件或映射进行验证时,Designer 将记录一个错误。
当Designer 对可再用转换中的映射变量进行验证时,它会将变量视为整型数据类型。
您不能在映射组件和映射之间交替使用映射参数和变量。
不能在映射组件中使用为映射声明的映射参数和变量。
同样,您不能在映射中使用为映射组件声明的映射参数或变量。
从Designer 中的Mappings/Mapplets 菜单中进行定义在相应的Mapping或Mapplet中进行引用即可。
2.2.4 初始和默认值在映射或映射组件中声明映射参数或变量时,您可以输入一个初始值。
如果参数文件中没有定义映射参数,PowerCenter Server 将使用映射参数的配置初始值。
同样,如果参数文件中没有定义变量值,而且资料库中没有保存的变量值,PowerCenter Server 将使用该映射变量的配置初始值。
如果PowerCenter Server 需要一个初始值,而您又没有为参数或变量声明初始值,PowerCenter Server 将基于参数或变量的数据类型使用一个默认值。
PowerCenter Server 所使用的不同类型数据的默认值:例如,如果您使用整型映射变量$$MiscellaneousExpenses 创建一个新映射,而且,既没有为变量配置一个初始值,也没有在参数文件中对其进行定义,那么当您首次运行一个带有该映射的会话时,PowerCenter Server 将使用数值数据类型的默认值0 。
或者,假设您创建了一个映射参数$$MiscellaneousCosts 来表示附加费用,此费用当前不存在于源数据中,但在将来可能要用到。