为什么informatica使用教程手工执行工作流可以运行,计划就失败

工作流模拟的业务情景如下:;1.用户到银行转账业务;2.银行工作人员查询用户余额3.银行工作人员帮助;以后,才会继续向前推进,这样情况可以更加精细地控;针对用户手动执行的任务可以采用手工触发执行;通过;和;元素都可以实现流程的手工触发执行;本文讲解ReceiveTask方式实现:配置如下;event=\;class=%utionListener>;;;;;流
工作流模拟的业务情景如下:
1.用户到银行转账业务
2.银行工作人员查询用户余额
3.银行工作人员帮助用户转账
手工触发执行是指,执行到流程中某个个结点后流程暂时停止运行,直到收到外部发送的信号
以后,才会继续向前推进,这样情况可以更加精细地控制流程。
针对用户手动执行的任务可以采用手工触发执行
通过;和;元素都可以实现流程的手工触发执行。
本文讲解ReceiveTask方式实现:
配置如下:
<;receiveTask id=\开始转账\
<;activiti:executionListener event=\class=%utionListener>;
流程图如下:
流程配置如下:
<;?xml version=\<;definitions xmlns=\xmlns:xsi=\xmlns:activiti=\xmlns:bpmndi=\xmlns:omgdc=\xmlns:omgdi=\typeLanguage=\expressionLanguage=\targetNamespace=\
<;process id=\
;Place documentation for the 'BankUserTask' process here.;
<;startEvent id=\准备转账业务\
<;endEvent id=\转账结束\
<;receiveTask id=\检查账户余额\
<;activiti:executionListener event=\class=\
<;receiveTask id=\开始转账\
<;sequenceFlow id=\name=\sourceRef=\sourceRef=\sourceRef=\sourceRef=\targetRef=\
<;sequenceFlow id=\name=\targetRef=\
<;sequenceFlow id=\name=\targetRef=\
<;sequenceFlow id=\name=\targetRef=\
<;bpmndi:BPMNDiagram id=\
<;bpmndi:BPMNPlane bpmnElement=\id=\
<;bpmndi:BPMNShape id=\
<;omgdc:Bounds height=\y=\
<;bpmndi:BPMNShape bpmnElement=\
<;omgdc:Bounds height=\width=\x=\y=\
<;bpmndi:BPMNShape id=\
<;omgdc:Bounds height=\y=\
<;bpmndi:BPMNShape id=\
<;omgdc:Bounds height=\y=\
<;bpmndi:BPMNEdge bpmnElement=\
<;omgdi:waypoint x=\
<;omgdi:waypoint x=\bpmnElement=\width=\x=\bpmnElement=\width=\x=\bpmnElement=\width=\x=\
<;bpmndi:BPMNEdge bpmnElement=\
<;omgdi:waypoint x=\
<;omgdi:waypoint x=\
<;bpmndi:BPMNEdge bpmnElement=\
<;omgdi:waypoint x=\
<;omgdi:waypoint x=\
<;bpmndi:BPMNEdge bpmnElement=\
<;omgdi:waypoint x=\
<;omgdi:waypoint x=\
<;omgdi:waypoint x=\
<;omgdi:waypoint x=\
<;omgdi:waypoint x=\
代码实现如下:
/** package com.easyway.workflow. import java.util.HashM /**
* 银行工作人员开始查询用户余额的事件
* @author longgangbai
上午09:37:50
*/ public class CheckBankAccountMoneyTask implements JavaDelegate {
private final Logger log Logger.getLogger(CheckBankAccountMoneyTask.class.getName());
@SuppressWarnings(\ @Override
public void execute(DelegateExecution execution) throws Exception {
(\根据输入参数,开始检查银行账户余额........\
System.out.println(\=
((HashMap<;String, Object>;)execution.getVariables().get(\
((HashMap<;String, Object>;)execution.getVariables().get(\\
package com.easyway.workflow.
import java.util.HashM /**
* 银行工作人员开始转账过程
* @author longgangbai
下午09:39:14
*/ public class CheckMerchantMoneyTask implements JavaDelegate {
private final Logger log Logger.getLogger(CheckMerchantMoneyTask.class.getName());
@SuppressWarnings(\ @Override
public void execute(DelegateExecution execution) throws Exception {
(\正在转账中.........\
System.out.println(\
((HashMap<;String, Object>;)execution.getVariables().get(\\ } }
package com.easyway.workflow.
import junit.framework.TestC /**
* 主要是在测试之前做一些初始化工作,主要包括流程引擎实例
* 的构建,及其流程提供的基本服务。
* 目的:让开发者熟悉工作流使用过程使用的几个步骤 =
* 1.加载相关的工作流全局配置文件activiti.cfg.xml配置文件信息
* 2.获取工作流相关的服务(RepositoryService,RuntimeService,
TaskService,HistoryService,FormService,ManagementService,
IdentityService等)
* 2.加载工作流文件*.bpmn20.xml信息
* 3.部署工作流
部署工作流由多种方式,在以后会相继讲解
* @author longgangbai
下午07:48:59
*/ public abstract class AbstractTest extends TestCase {
private ProcessEngine processE protected String deploymentId; protected RepositoryService repositoryS protected RuntimeService runtimeS protected TaskService taskS protected FormService formS protected HistoryService historyS protected IdentityService identityS protected ManagementService managementS
* 测试用例开始初始化工作
* 1.创建相关的工作流程对象ProcessEngine
* 2.创建相关的服务
*/ @Override protected void setUp() throws Exception {
super.setUp(); //由于ProcessEngine为线程安全性对象,整个项目可以共用一个 if(processEngine==null) {
//此处使用此种方法调用的activiti的配置文件为 classpath路径下的activiti.cfg.xml
//采用的H2的数据库 processEngine = ProcessEngines.getDefaultProcessEngine(); } //获取工作流的各种服务信息 repositoryService = processEngine.getRepositoryService(); 三亿文库包含各类专业文献、高等教育、中学教育、专业论文、应用写作文书、行业资料、各类资格考试、工作流Activiti的学习总结(九)Activiti手工执行的应用(ReceiveTask实现方式)64等内容。 
 工作流Activiti的学习总结(十)Activiti手动执行的应用(UserTask)_计算机软件及应用_IT/计算机_专业资料。工作流模拟某公司请假流程情景如下: 1.开发人员请假流程,如果...  工作流Activiti的学习总结(五) activiti的API和虚拟工作流测试_计算机软件及应用_...(); TaskService taskService = processEngine.getTaskService(); Management...  工作流Activiti的学习总结(四)Spring和Activiti的整合配置讲解_计算机软件及应用_IT...method=&getTaskService&/ & &!-- 工作流历史数据服务--& &bean id=&...  工作流Activiti的学习总结(二)activiti中ProcessEngine的创建和数据库表命名规则_计算机软件及应用_IT/计算机_专业资料。工作流 Activiti 的学习总结(二)activiti 中 ...  工作流Activiti的学习总结(六)Antiviti的安装详细过程_计算机软件及应用_IT/计算机_专业资料。今日推荐 81份文档
笑话大全集 笑话大全爆笑版 幽默笑话大全 全球冷笑...  工作流Activiti的学习总结(十二) activiti官方十分钟快速学习_学习总结_总结/汇报_实用文档。根据 activiti 官方提供的 编写 1.财务部门填写月财务报告 2.股东审核月...  工作流 Activiti 的学习总结(三) activit 数据库限制和数据库相关 的配置数据库相关的配置: 在 activiti 中的持久化框架采用 Ibatis3 实现。 有两种方式定义 ...  activiti入门教程-基于Activiti5工作流实战企业协同OA办公系统_计算机软件及应用_IT/计算机_专业资料。activiti入门教程,基于Activiti5工作流实战企业协同OA办公系统(spring...实现方法/工作流
工作流数据库工作流的实施需要三个基本步骤:映射、建模和管理。映射是第一个步骤,其首要任务是确定并且文档化组织内全部现有的手工和自动化的业务流程;建模则是开发一个有助于建成流线型业务 过程的模型。第三阶段是 软件实施以及跨越全部工作部门、业务单元甚至是整个企业的无缝系统集成。 为了确保 工作流系统能够“无缝地”实施到组织机构中,项目组都必须遵从已经定义好的、经过实践确认的行之有效的工作方法,并且在每个工作阶段都必须有可以度量的结果。一个深思熟虑的实施计划被有经验的团队执行,是成功地采用和实施工作流的决定因素。下图描述了一个推荐的、可供典型组织机构采纳的高层工作流(实施流程)。建立 项目管理办公室项目管理办公室的组成是第一步,也是最重要的一步。项目管理办公室的成员须经过严格谨慎挑选,他们必须在恰当的程度上广泛代表组织内的业务、运营、IT以及审计等部门。产品供应方的产品专家、技术支持人员和管理人员也必须参与其中,以与用户互补。通常在PMO中还包含变更管理顾问,有助于形成组织中人员思路的多样化。每个成员的角色和责任必须定义清楚。PMO从整体上确立项目的实施范围、目标、实施时间框架以及优先级等等。PMO也负责管理和跟踪项目进度、设定检测项目是否成功的指标,以及定期向高层汇报项目 状况等。业务分析项目组将分析用户现有的业务流程,找出哪些流程需要优化和改进以达到上佳效果,并分析每个流程的时间线和期望的结果。他们将与关键人员进行座谈,收集和鉴别正确的信息及数据,从而决定 工作流系统如何满足需求。接下来的业务分析将辨别出哪些流程可以被优化、自动化、流线型化,哪些流程甚至需要重新设计。确定目标确定上佳目标是建立在业务流程详细分析的基础之上的。工作流项目的目标定义应该清晰并可以进行验证,好的目标意味着项目的成功。在实施 过程的每一个阶段,项目组必须确认达到的结果是他们所期望的结果。例如,如果目标是缩短开发票周期两周,则必须分析现有的时间跟踪、记账和开发票等流程。确定实施计划目标确立后,由用户和软件 供应商组成的项目组展示工作流解决方案具备的各种模块,根据用户提出的特定需求定义他们的功能和特性,并基于业务的优先级,共同决定每个模块的上线时间。将业务流程在 工作流系统中建立模型在实施 过程中建立业务模型是一个极重要的步骤。用户应当紧密地同软件产品应用专家进行合作,以在易用性和功能需求之间达到平衡。用户可以在部署阶段前对模型进行测试,以确保该模型符合实际要求且没有过多的开销。需要指出的是,如果这个建模步骤没有完全正确地完成,将导致错误的报表或者多余的管理工作。实现流程和软件集成在这个阶段,项目组将确定现有的需要与 工作流系统交互的流程与系统。如果处理不当,新旧流程的集成将导致失败。流程集成的一个重要方面就是在 多系统之间消除或者最小化冗余数据,并在多个系统间复制这些数据。流程必须紧密集成,数据必须能跨越不同的流程和应用,顺畅流动。项目组也必须确保 工作流系统符合用户组织机构的安全标准,这一点经常在部署阶段前被忽视。部署 工作流系统部署工作流系统包括两部分内容。第一部分自然是技术部分,涵盖了 硬件和软件的安装、备份、恢复以及网络安装等等,这与一般的IT应用实施相似。第二部分是指上线试运行。试运行小组应具有真正的代表性。项目组必须与试运行小组就项目的重要性进行沟通,并确保提供足够的培训,使得试运行小组能够对试运行工作得心应手。建议项目组建立清晰的沟通渠道,保证在试运行期间可以及时反馈用户的意见和建议。试运行将使项目组鉴别出原来设计和计划的弱点和缺点,并在大规模上线运行前加以解决。这也可以提高用户对于新流程的接受程度,因为用户感到他们也参与了项目的开发部分,解决方案不是强加给他们的。一般认为,采用阶段性实施 工作流系统可使用户更快地获得效益。因为用户可以更有效地渐进学习新系统,取得立竿见影的效益。阶段性实施还给予用户更多的时间了解、评估他们进一步的需求,使得项目实施期间的修改更加容易。另外,阶段性实施项目降低了风险。系统评估特别注意,在每一个阶段完成后,项目组都应该基于项目开始时设定的目标,对已经完成的结果进行评估,同时分析所达到的结果,并与最初的设计目标相对照。确保工作流解决方案在现有的业务环境中优化出更合理的解决方案,以了解什么需要更改。系统支持为确保实施成功,更佳地使用 工作流软件,组织机构必须进行服务投资,组织机构应该委派专业人员提供第一线的服务,也应负责与供应商签订合同,以获得第二级支持。workflow 软件随着 计算机与 通讯技术的快速进步,国际互联网(Internet)和内部局域网(Intranet)在企业信息化建设中发挥着巨大的作用。市场经济使得各企业越来越重视效率的提高和成本的减少。传统纸张表单,手工传递式的流程已不能满足 事务流程在时间上的及时性和空间上跨地域性的信息化办公需求。现代化企业的发展迫切需要建立一套稳定、便捷、安全的基于网络环境的电子化文件传输平台,通过这个网络平台,组织机构内部的人员可跨越时间、地点 协同工作,借助 电子表单传递企业各类信息,实施对流程的处理、跟踪、查询、统计等操作,提高办公效率,实现 无纸化办公,推动企业e化进程,提升企业的综合竞争力。2 .为什么要实现工作流程自动化?在公司内部的诸多表单里,包括行政、人事、IT等方面的,大部分都是采用纸张填写,手工传递或者Word / Excel文档填写,邮件发送的方式。手工处理 工作流程,一方面无法对整个流程状况进行有效跟踪、了解,另一方面难免会出现人为的失误和时间上的延时导致效率低下,特别是无法进行量化统计,不利于查询、报表及绩效评估。问题的具体表现如下:很多时间和精力浪费在 事务的传递和内部的协调上; 处理 过程效率低下,容易导致市场和客户反应滞后; 对于没有规范业务流程的某些业务,责任不明确,容易造成管理上的真空; 对于有规范业务流程的业务,因缺乏处理过程的纪录和跟踪,实际操作过程中,人为干扰的因素还大量存在,导致有了标准但无法按标准办事的情况存在; 企业数据和知识得不到充分利用; 处理时间、费用、效率无法控制和度量; 关键业务流转常常因各种因素造成时间黑洞和延误; 过度依赖于纸张,不仅浪费而且拖慢了企业的发展步伐; 无法实现表单的查询、检索、统计等; 内部信息化设备(服务器、PC、专线等)得不到充分的利用。 ……采用 工作流系统,将实现 工作流程自动化,带来的好处是非常明显的,这包括提高企业运营效率、改善企业资源利用、提高企业运作的灵活性和适应性、提高工作效率、集中精力处理核心业务、跟踪业务处理过程、量化考核业务处理的效率、减少浪费、增加利润、充分发挥现有 计算机网络资源的作用。实施 工作流系统将达到缩短企业运营周期、改善企业内(外)部流程、优化并合理利用资源、减少人为差错和延误,提高劳动生产率等目的。具体表现为:将最适当的 事务在适当的时候传递给适当的人; 员工可将精力集中到自己的关键业务上; 无需进行流程的培训、平滑实现流程变更; 管理层可随时掌握业务情况和业务流程处理效率,实现实时的管理监控; 随时得到历史数据和报表; 减少纸张浪费,节约管理成本; ?内部矛盾、客户报怨,以及人为差错和延误将大为减少; 工作效率提高; 资源利用率提高; 流程规范性增强; 沟通和信任度提升; 透明度增强; 服务质量提高; 轻松实现远程和移动办公,实现事务处理“零响应”; 后台数据库应用,提供报表、查询、统计、检索、分析等功能,辅助企业决策; 发现并重视企业核心业务流程,同时不断改善、重组、优化流程,提升核心竞争力; 协同工作,知识共享,真正实现向“知识管理型企业”过渡。 ……通过 工作流系统的实施,将会进一步规范公司业务流程,提高工作效率,实时跟踪、监控公司流程状况,最大满足公司迅速发展的要求。3 .工作流主要应用于哪一些方面?应该说, 工作流软件应用的范围还是非常广泛,凡是各种通过 表单逐级手工流转完成的任务均可应用工作流软件自动实现,可以考虑在以下一些方面推行 工作流程自动化。行政管理类: 出差申请,加班申请,请假申请,用车申请,各种办公工具申请,购买申请,日报周报,信息公告等凡是原来手工流转处理的行政性表单。人事管理类: 员工培训安排,绩效考评,新员工安排,职位变动处理,员工档案信息管理等。财务相关类: 付款请求,应收款处理,日常、差旅、娱乐报销,预算和计划申请等。客户服务类: 客户信息管理,客户投诉、请求处理,售后服务管理。其他业务流程:订单、报价处理, 采购处理, 合同审核,客户电话处理等等。
典型客户/工作流
制造执行系统(MES) 今天中国的广大制造企业无不面对着剧烈的市场竞争:原材料的大幅涨价、产品的同质化、消费者的品质意识越来越强、客户又给工厂巨大的降价压力等。而是我们广大制造企业纷纷上ERP、SCM、BPR、电子商务等信息化项目来提升管理水平、压低管理成本,但是工厂仍然面临着如下局面:(1) 但是市场却总是不停地在变,我们的客户要求越来越高:质量要更好,价格要更低,交货期要更短,产品品种却越来越多;(2) 出现用户产品投诉的时候,能否根据产品号码追溯这批产品的所有生产过程信息?能否立即 查明它的:原料供应商、操作机台、操作人员、经过的工序、生产时间日期和关键的工艺参数?(3) 同一条生产线需要混合组装多种型号产品的时候,能否自动校验和操作提示以防止工人部 件装配错误、产品生产流程错误、产品混装和货品交接错误?(4) 过去12小时之内生产线上出现最多的5种产品缺陷是什么?次品数量各是多少?(5) 仓库以及前工序、中工序、后工序线上的每种产品数量各是多少?要分别供应给哪些供应商?何时能够及时交货?(6) 生产线和加工设备有多少时间在生产,多少时间在停转和空转?影响设备生产潜能的最主要原因是:设备故障?调度失误?材料供应不及时?工人培训不够?还是工艺指标不合理?(7) 能否对产品的质量检测数据自动进行统计和分析,精确区分产品质量的随机波动与异常波动,将质量隐患消灭于萌芽之中?(8) 能否废除人工报表,自动统计每个过程的生产数量、合格率和缺陷代码?这是因为在计划层的ERP系统与生产现场的自动化控制系统之间缺少了一座关键的信息沟通“桥梁”,存在信息断层。ES-MES制造执行系统在计划层(以ERP资源规划系统为代表)与底层控制(以HMI、DCS、PLC为代表)之间架起了一座桥梁,填补了两者之间的空隙。一方面,MES可以对来自MRPII、ERP软件的生产管理信息进行细化、分解,将来自计划层操作指令传递给底层控制层;另一方面,MES可以采集设备、仪表的状态数据,以实时监控底层设备的运行状态,再经过分析、计算与处理,从而方便、可靠地将控制系统与信息系统整合在一起,并将生产状况及时反馈给计划层。
工作模式/工作流
基本模式顺序模式 – 按照顺序执行各项活动解释:工作流 流程中的一个活动只有当另一个活动完成后才能进行。例子:当订单登记活动完成后,客户通知才可以进行。并行分支模式 – 同时运行两个活动解释:在流程中的一点一个控制线程分成可以并行执行的两个控制线程,允许两个活动可以同时运行。例子:同步模式 – 同步两个并行的执行线程单选模式 – 从多条路径中选择一个执行简单合并模式 – 合并两个二选一路径高级分支与同步模式多选模式 – 从多条执行路径中选出几条同步合并模式 – 合并多条路径,如果有多条路径被选择,则进行同步;如果只有一条路径被选择,则进行简单合并多合并模式 – 合并多条路径鉴别器模式 – 合并多条路径而不进行同步,只执行一次后续活动M中的N模式 – 合并多条路径,进行部分同步,只执行一次后续活动结构模式任意循环模式 – 没有任何限制的执行工作流隐含终断模式 – 如果没有事情可做,就结束多实例模式基于状态的模式推迟选择模式 – 执行两个可选线程中的一个,那个线程将被执行是隐含的交替并行模式 – 两个活动可以以任何顺序执行,但不能并行进行里程碑模式 – 当一个里程碑到达时,激发一个活动取消模式取消活动 – 取消当前活动取消过程 – 取消该过程
&|&相关影像
互动百科的词条(含所附图片)系由网友上传,如果涉嫌侵权,请与客服联系,我们将按照法律之相关规定及时进行处理。未经许可,禁止商业网站等复制、抓取本站内容;合理使用者,请注明来源于。
登录后使用互动百科的服务,将会得到个性化的提示和帮助,还有机会和专业认证智愿者沟通。
此词条还可添加&
编辑次数:19次
参与编辑人数:14位
最近更新时间: 08:44:23
申请可获得以下专属权利:
贡献光荣榜Informatica命令调用_文档下载
亿万文档 免费下载
当前位置: &
& Informatica命令调用
Informatica命令调用
Informatica提供command和java接口 可以通过来执行Command命令
1、直接在该控件中写PMCMD命令
例如:pmcmd startworkflow -sv repo_dss -d DOMAIN_test_dss -u
Administrator -p Administrator -f DSS_DM -wait DM_SCD_ODS
命令解析如下:
pmcmd startworkflow -sv 集成服务名称 -d 配置域名称 -u
Administrator -p Administrator -f 文件夹名称 -wait 工作流名
2、将PMCMD命令写在批处理文件中,通过该控件调用批处理文件
例如:批处理文件放在D盘的根目录下,在控件中直接写d:\mpcmd.bat
如果需要获取返回结果和错误信息,需要修改命令为:
d:\mpcmd.bat 1&d:\result.log 2&d:\error.log
该命令运行完成后会在D盘的根目录生成result.log和error.log
3、将PMCMD命令写在批处理文件中,通过DOS命令调用
(1)切换到Informatica的bin文件夹下
(2)执行批处理文件,生成返回结果和错误信息的日志
4、直接在DOS下调用PMCMD命令
Word文档免费下载: (下载1-2页,共2页)
informatica调存储过程_计算机软件及应用_IT/计算机_专业资料。informatica 调用存储过程 1、建立源: 2、此处选择文件类型:文件名字为: log 3、源属性中必须建立一个...Informatica配置与开发警告邮件解决方法_计算机软件及应用_IT/计算机_专业资料。...mail_error_run 调用 Apache Ant 命令行,发送错误警告邮 件给管理员,并将记录...informatica9_install_IT/计算机_专业资料。本文介绍了Informatica 9 在常见Unix、linux系统下的安装、配置Informatica 9 安装手册 项目号 文档编号 版本号 保密级别 ...而目前向 Informatica Service 发送任务请求的途径有 3 种方式,一种是常用的 Informatica Client 方式,如 PowerCenter Workflow Manager 执行任务调度;一种是命令行...0202 Informatica8.1.1培训教程 V1.1_计算机软件及应用_IT/计算机_专业资料。...在 Workflow中调用操作系统的命令 3.Email: 在Workflow中发送 email Workflow ...02-Informatica PowerCenter9.5.0安装手册_计算机软件及应用_IT/计算机_专业资料...PWX_DB AT NODE NDEA32A; 然后点击绿色向右的箭头,执行命令,编目 PWX_DB ...1 Informatica数据集成平台介绍 曹顺波 2 目录 ? 概述 ? Informatica数据集成...Workflow中调用操作系统外部命令 ?Workflow中调用Email ?多ETL Server协同工作 …...Informatica PowerCenter交流(ETL)_计算机/互联网_科技_PPT专区。Informatica 公司...数据源为文件列表/为命令返回值(支持通配符) ?Session Recovery ?调用Java、C/...Informatica_PowerCenter 9 培训教材_文学_高等教育_教育专区。Informatica_PowerCenter...Workflow中调用OS外部命令 ? Workflow中调用Email ? 多ETL Server协同工作 …...informatica powercenter8.6简易使用手册_计算机硬件及网络_IT/计算机_专业资料。...本例选择利用手动进行配置如下图所 示: 如上图所示,执行 Create 菜单命令,...Informatica(11)
Informatica学习笔记
Informatica学习笔记1:UPDATE AS INSERT
要求实现每天抽取数据,而且是如果有改变才抽取更新,没有就不更新,
因为源表中有最后修改时间的字段,我让它 和SESSION上次运行时间比较来解决是否抽取,
但问题是有的表中没有主键,我该怎么实现更新呢 ?
有主键的我在WORKFLOW的MAPPING里面勾上了UPDATE ELSE INSERT
那没主键的用 UPDATE AS INSERT 行么?
还有UPDATE AS INSERT 什么意思啊,能解释的形象点么?
UPDATE AS INSERT 就是
语句一: update tab_name set c1= value1 ,c2 = value2 where c_prikey = value_pri
语句二: insert into tab_name values(******)
当在 tab_name的c_prikey找到有等于value_pri的,就执行语句一把所有对应的记录update。
当没有匹配的,就执行语句二。
你可以powercenter的 source defination中的自己定义主键,也可以直接 override update sql,
可以不用理会真实表结构中是否有主键
Informatica学习笔记2:客户端连接服务器
我通过客户端连接到服务器,做了一个workflow,运行的时候出现错误,说是服务器连接不上
repository server和infomatic server他俩的port是不是要一样还是不需要?
看看server 的配置..我想可能是没有配置好.
Repository server服务起来了,就是informatica server起不来了,在配置的时候,是informatica server的ip解析不出来,怎么才能把那个地址和主机对应起来
1.直接写IP
2.编辑客户端的%WINDOWS%/SYSTEM32/DRIVERS/ETC/HOSTS文件,把ip与名字的对应关系加进去,客户端这台机器就可以自己解析了
3.找DNS或者什么解析服务器搞定。
informatica server装在unix操作系统下,能不能找到配置informatica server的配置文件对应的是那一个文件.
unix下缺省是pmserver.cfg,可以用pmconfig这个命令行工具修改配置文件,也可以直接打开编辑。
如果不是缺省的配置文件名可以通过, ps -efl|grep pmserver看看是哪个文件名。
谢谢,pmserver.cfg这个文件中的配置信息我看过了,里面设置的都是repository server ip:192.168.0.1和port:6001,怎么找不到配置的informatica server的ip:192.168.0.1和port:4001我是想知道这个信息在配置文件中能找到吗?
这个是在workflow manager里面注册的。双击server名字就看得到了。
是的,我在workflow manager里看到过,只要在那里注册好了就行了吗,我想它应该存放在什么位置
所以想搞清楚,还是谢谢你.
他存放在策略库的opb_server_info表里面,呵呵。你也可以试试看直接改数据库。
不过直接改数据库这种事情要悄悄的干,被david知道了要打pp的。
Informatica学习笔记3:workflow问题
创建一个工作流从一个txt文件到目标表,是不是要定义.par参数文件 有没有谁有这方面的资料教程,给我发一份,非常感谢!~我创建了一个,运行的时候出错了:(Server10) Start workflow: Request acknowledged
(Server10) Start workflow: ERROR: Error in starting execution of workflow [id = 8] [wf_s_m_test]. Please check the server log for more information.
没必要非得定义参数文件,直接在session 中,指定路径和文件名就行..如果是同结构批量的文件,可以用file list 功能..
参数文件也能作,相对来说是在外部控制路径和文件名,比较动态了.
那个错,不是让你去看 server log 吗.. 去看看了.
window 平台,default 去看事件管理器
Informatica学习笔记4:Folder权限的问题
Informatica用不同的用户创建的不同的folder,互相看不见是什么原因那?
保护机制的作用,建folder的时候,在安全选项里可以设置!~
把read权限赋给 repository user就可以了
也有可能是启用了 version control 的原因
Informatica学习笔记5:建立Repositories的时候出错
我的Infromatica是安装在英文版的Windows环境下的,Matadata要放在Oracle9i中,可是当我在建立Repository的时候怎么也连接不上我的Oracle9i数据库,而我用其他方式连接数据库是畅通的,在Windows的事件查看中看到如下信息:
(368|752) Failure in running command-line request type[100401] [pmrepagent create -r &TCS& -t &Oracle& -u informatica -c Oradb -d &MS1252& -h tcs-china.db -o 9999 -H &tcs-china.db& -O 5001 -K ]. Error is [An error occurred while creating the repository.].
建repository在&Repository Server Administration Console&里面可以找到Active Log的,可以看看出错信息,出错多的好像都是插入一个LONG的&#20540;,通常建策略库出问题都是字符集捣的&#39740;,几个地方要注意数据库的字符集,系统NLS_LANG环境变量,操作系统的缺省字符集(windows在地区设置里面看,还有缺省输入法也可能影响),理论上不同的字符集只要是可转换的,都是可以的,不过弄成一样的比较简单了。
谢谢guruhao的提示和帮助,我决定将Oracle和Informatica重新安装一下再来测试一次,
我的操作系统的缺省字符集(windows在地区设置里面)是china
系统NLS_LANG环境变量是N/A
这一段都是正常的,drop table不成功,属于建库之前清理表的动作,
还要往后,大约在中间的位置。有个真正的插入数据的错,
你最好设置一下NLS_LANG使之与oracle server的字符集相匹配。
it should be Oracle characterset is not same in Oracle Server and client.
Informatica学习笔记6:建立workflow的问题
我用powercenter8建立一个mapping后,在workflow manager中建立了workflow,但是运行这个workflow时却提示以下错误信息:
Could not start execution of this workflow because the current run on this Integration Service has not completed yet
我检查了一下:server中的各服务已经正常启动了,但是就是运行时出现这种情况,请问是什么原因导致的??以及怎样解决呢???各位知道的就请说一下吧。
该错误应该是说你建的这个workflow正在运行,且还没有结束,因而你不可以再次启动该工作流。你可以通过Monitor观察一下。
该错误应该是说你建的这个workflow正在运行,且还没有结束,因而你不可以再次启动该工作流。你可以通过Monitor观察一下。
但是我在monitor中又看不到任何的session在运行啊~
将你的informatica server在service里重新启动后再运行看看
(问:过一阵子之后再运行就正常了。不知道为什么?怪怪的~~~)
Informatica学习笔记7:workflow执行报错
我在执行某个workflow 的时候报了如下错误:
FATAL ERROR : Unexpected Condition in file [/u05/bld65_64/pm713n/server/dmapper/widget/wjoiner.cpp] line [3176]. Contact Informatica Technical Support for assistance. Aborting this DTM process due to an unexpected condition.
请问各位这是什么原因?我看了一下日志文件,好像是初始化的过程都还没有结束就报错了。
This error occurs when the Joiner transformation in the mapping has become corrupted.
To resolve this do one of the following:
1. Delete and re-create the Joiner transformation.
2. Export and import the mapping replacing the mapping when importing it.
谢谢!!找到原因了,原来是某一个字段的连接线没有连上导致的错误。可是我有个疑问,为什么有的控件出现这种情况的时候就没有问题呢??
Informatica学习笔记8:提示joiner输入字段没有排序
我们这里是异地开发,从北京拿过来的mapping,在那里都可以跑通,而且没有任何问题,但是怎么拿到我这里就提示joiner输入字段没有排序呢?问题可能发生在什么地方呢?
你的join 控件应该是来自同一个数据源的,你在join 控件前增加一个Sorter 控件,将join 的输入数据源排序。
Informatica学习笔记9:import一系列mapping
求教,要import一系列mapping,但是codepage不一致,应该怎么调整?
codepage 不一致,一定得改..反正一个XML,只需要改两个地方..如果XML很多,写一个小程序,会方便点..如果少,手工改一下就好了.
一系列的xml?? 是指很多,是吗?
1.建议你在导出时,用rep manager, 将很多对象打一个包导出.
2.pmrep 命令行,有个object import 功能,写一个批量的 .bat 导了
Informatica学习笔记10:复制数据库的问题
请教各位大侠:我要用PowerCenter复制一个数据库,源库是一个SQL Server的数据库,目标库是DB2数据库,请问怎么做?
一个表一个表的做。
如果想一次复制所有表,干脆用SQL server的DTS好了。
如果是整个库的话,不如用DB import/export了..
ETL强调的是T..
Informatica学习笔记11:informatica services不能启动
在一台机器上安装了informatica services+client+oracle 10g(作为repository)。informatica的版本是8.1.1,启动informatica services时没有错误,但是过几分钟就停了。日志信息catalina.out如下:
16:12:46 org.apache.coyote.http11.Http11Protocol init
信息: Initializing Coyote HTTP/1.1 on http-6001
16:12:46 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 1234 ms
16:12:46 org.apache.catalina.core.StandardService start
信息: Starting service Catalina
16:12:46 org.apache.catalina.core.StandardEngine start
信息: Starting Servlet Engine: Apache Tomcat/5.0
16:12:46 org.apache.catalina.core.StandardHost start
信息: XML validation disabled
16:12:47 org.apache.catalina.core.StandardHost getDeployer
信息: Create Host deployer for direct deployment ( non-jmx )
16:12:47 org.apache.catalina.core.StandardHostDeployer install
信息: Processing Context configuration file URL file:c:/Informatica/PowerCenter8.1.1/server/tomcat/conf/Catalina/localhost/adminconsole.xml
java.lang.UnsatisfiedLinkError: D:/Informatica/PowerCenter8.1.1/server/bin/pmjrepn.dll: ???????¨????ò??
前几天一直运行正常,请问各位高手,该问题如何解决,谢谢!
This error will occur when there is there is an incompatible xerces-c_2_4_0.dll file on the Windows machine.
To resolve this do the following:
Stop the Informatica Services Windows service.
Go to the C:/WINNT/system32 directory.
Rename the xerces-c_2_4_0.dll file to xerces-c_2_4_0.old.dll.
Copy the xerces-c_2_4_0.dll file in the&INFA_HOME&/server/bin directory to the C:/WINNT/system32 directory.
&INFA_HOME& is the Informatica installation directory.
Re-start the Informatica Services Windows service.
Try it again, please let me know the result.
Informatica学习笔记12:从mysql抽取数据的字符集问题
我们的source数据库是mysql,字符集是utf8. 现在要用informatica从中抽取数据并生成文本,用于下一步的ETL处理。informatica server的code page是ISO 8859-1. 结果中文字符总是抽取不成功。请问如何处理才能正确抽取中文字符?
informatica server的code page是ISO 8859-1 ,你得改成UNICODE的模式,才可以比较适合作转换..你在workflow manager中的那个ODBC的连接,应该也有codepage的设置吧..改改试试..
informatica server的code page是ISO 8859-1 ,你得改成UNICODE的模式,才可以比较适合作转换..你在workflow manager中的那个ODBC的连接,应该也有codepage的设置吧..改改试试..
谢谢斑竹。
问题是我没办法去改informatica server的配置。如果就用当前配置,有可能做到正确抽取中文么?能够做一些编码的转换来实现么?
乱码,就找几个点的码制设定了..
源就那样了, ETL服务器上配的ODBC,可能会有codepage 相关; 再就是ETL 服务器, 你已设为ISO 8859-1,如果不对中文数据作转换,应该不会乱; workflow manager中,配置ODBC我忘了是不是也有code page 设定了..就这么几块..你分开检查一下了.
你用个什么工具,通过系统ODBC去访问一下,如果看到的不是乱码,再从后面几点排这个错了..
(修改了连接mysql的odbc,加上 stmt=SET NAMES 'utf8' 就好了,谢谢斑竹!)
Informatica学习笔记13:没有Lincense导致的问题
各位兄弟们帮忙看一下,informatica的问题,我使用的是6版本,目标数据库是oracle 10g,在安装好,配置好的时候,执行workflow的时候报这样的错误
CMN_1022 Database driver error...
CMN_1022 [
[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
Database driver error...
Function Name : Connect
Database driver error...
Function Name : Connect
Database Error: Failed to connect to database using user [test_loc] and connection string [192.168.1.42].]
你用的是ODBC..是UNIX下,还是window?
为什么不用Oracle native driver?
这个看起来,像是你在系统建的ODBC,没有找到..
你在系统的ODBC,建立一个连接,例如: odbc_ora_hr
,测试一下,看是不是能连接到远程的oracle server.
你在workflow manager中,建立ODBC时,那个connectstring 写上这个名字.odbc_ora_hr
如果在系统的ODBC是通的,应该就可以了吧.
ODBC用的是informatica自带的odbc安装的,用的是window的,我也想用oracle 的驱动,但是我没有oracle 的Lincense key,我只有odbc的所以只能用odbc的了,系统odbc配置的图和workflow manager中配置odbc的图和你说的一样,配置好后,报的错误还是一样的,急死了
问题解决了,是key有问题!
艾!没有informatica的Lincense
Informatica学习笔记14:lookup中自定义sql有问题
powercenter 7.1 windows平台
source table w_test_fs
target table w_test_f
源表和目标表中都有字段col1和col2,这两个字段可以看作是联合主键吧 建了个unique index
mapping流程大概说一下
1.从源表取数据 select fs.col1,fs.col2,fs.xxx,... from w_test_fs fs
2.建lookup(从w_test_f),in的字段就是上面select出来的col1和col2,比较字段是w_test_f中的col1和col2,取出w_test_f中的主键
select f.row_id,f.col1,f.col2 from w_test_f f, w_test_fs fs where f.col1=fs.col1 and f.col2=fs.col2
3.建filter, 把lookup找出的lookup_row_id和步骤1选出的字段传给此filter
filter条件是isnull(lookup_row_id)
4.进入目标表
现在的问题是:
源表和目标表数据条数是一样多了(之前跑过,那时目标表是空的) 就是说对于col1和col2来说,两个表是一样的
用sql可以验证
select fs.* from w_test_fs fs where (select f.row_id from w_test_f f where f.col1=fs.col1 and f.col2 = fs.col2)
执行这条sql查出0条记录
但我运行上面的mapping 还是有数据流过filter
遇到过有部分数据流过(filter起了部分作用)、也遇到过数据全部流过(filter没起作用) 当然对应的mapping是不一样的
我上面的mapping只是个例子 规则是一样的
请问大家遇到过或者有什么建议没有?
已找到部分原因
lookup中自定义sql有问题
Informatica学习笔记15:infopower如何实现增量抽取?
在 informatica powercenter中如何实现增量抽取?我想了一下使用时间戳,但是这个时间戳如何去使用不是很明白,希望各位高人在这边能指点一下,如果有例子更好,在这里先谢谢了!
有时间戳就直接用呗,总有个办法记录上次抽取的时间的,也有办法设置本次的截止日期
然后 where timestamp & last_time and timestamp &= current_time
有时间戳的系统和工具没啥大的关系
问:那在参数中如何去调用呢?
这个你看看mapping 的参数和变量那块吧.. help 当中有详细写..你这样问,太大,谁也很难花时间去详细写的.
关于增量抽取的问题,我在help里看到了以下内容:Use the following filter to incrementally extract data based on the SALES.sales_datetime column in the source:
SALES.sales_datetime & TO_DATE (`$$LastUpdateDateTime') AND SALES.sales_datetime & TO_DATE (`$$$SessStartTime')
小声的问下:这个时间戳的时间一定要是来自源表中某个字段&#20540;吗?如果源表中没有这样的时间字段,怎么办?
1.从源中找到变化和增量标识(可能是时间字段或一些业务字段,标识位之类的),这样比较容易作.
2.现在有一些工具是可以从DB的log层面解析变化数据的,这样,就可以不用这样考虑了.
3.从DB的功能角度去想办法,找到增量或变化数据的方法,像oracle 有物化视图.
4.还有一些建数据库触发器或全表比对..
还有一些方法吧,但多半用上面几种吧.
1保证要做的数据源中有标示更新的时间戳和标示逻辑删除的字段!
2在mapping设计中设置mapping变量,用来记录每次执行etl过程时的数据库时间(注意是源系统的数据库时间)
3记得更新mapping变量~其余的就不用说了
呵呵,向SuperGlue转行中!
Informatica学习笔记16:informatica 8.1 安装问题
大家好,请教一个问题, 安装8.1时 每次安装到 connecting to repository service 时,总是过不去,连接不上, 报cannot connect to repository service, 弹出一个窗口,列出了一些信息,然后有2个选项, 重试 和 忽略.
弹出的信息如下:
The installer created the Repository Service, but could not enable it. Use the Administration Console at
to correct the error and enable the service. You can get more information in the Repository Service logs
in the Administration Console Log Viewer. Select Ignore to continue with the installation and enable the Repository Service after installation.
请教大家,为什么连接不上RESPOSITORY SERVCIE啊, 2个数据库连接测试都是 测试通过.
和db 操作一样, 可以connect 只是前提保证,在执行大的SQL时,因为权限,网络,字符集不统一或大SQL的原因,极有可能会失败.
你先描述一下,你所有DB是啥吧..不同数据库,反应是不同的.
SQL SERVER 2000开发版+SP4+WINXP SP2 和 SQL SERVER 2005&#43;sp1&#43; win2003 server&#43;sp1 杨晓东说推荐用ORACLE , 但之前我们在sqlserver上都安装成功了,现在安装总是在上面的步骤通过不了,连接不上.
建2个数据库,2个用户,连repository库时,我干脆用sa登陆,都连接不上repository services.
网络方面,我是服务器,客户端都装在我的本上,都是本机
字符集方面, 我拿到的8.1是中文版的,操作系统也是中文版的. 之前用7的时候是英文版,那时候OS装的也是英文的,都是统一的.
你先登录到
user: admin
password 用你设定的那个, 进到console 页面,点击repository 图标,右面会显示一些红色的错误信息,你再看看log 那个tab 页上,会有详细的错误信息. 那里的信息,会比较细.
这肯定是DB在执行SQL时,报的错。。。是不是和网络的firewall 有关系? 以前SQL SERVER出问题,多半都是网络,firewall 和SQL SERVER的设置上。
我曾在SQL SERVER上安装过pwc8.x,是没有问题的。 你找到那些详细信息,如果还不行,把信息贴出来。
我前几天也装过知识库用SQL Server2000的,好象没什么问题,不过就是觉得在建知识库那的connectstring要用:主机名@数据库名 这点不知道楼主注意到没有,这个环境下还没有碰到过其他问题
还有一个数据库只能对应一个知识库的,如果之前在某一数据库上建过知识库,那么第二次再在此数据库上建知识库也是无效的.因此,建domain的数据库和建知识库的数据库最好分开,要建知识库的数据库最好是空库,至少也是不能有存放知识库的元数据.如果domain和知识库装在同一数据库中,那么只清除知识库的元数据而不清除domain信息,直接在数据库里头不太好清,最好是在控制台中对知识库用delete content然后删除知识库.
我讲的可能不是楼主的问题的解决方法.仅仅和大家分享一下小经验.
在虚拟机上终于搞定, WIN;SQLSERVER2005SP1. 安装过程和以前一样,为什么在虚拟机上就成功安装呢, 之前安装成功也是在虚拟机上, 另一个同事也是在虚拟机上安装成功的. 感谢楼上的各位.
请大家分析一下为什么虚拟机上成功安装,而实体机却安装时报连接不上,而导致安装不成功呢?
Informatica学习笔记17:如何在PowerCenter中实现累加SUM
我最近在设计一个mapping时,遇到一个问题:这个mapping要做的是,聚合(SUM)源表
(BUSI_T_ENTRY)中的借方金额(DEBITAMOUNT)字段&#20540;,groupby的字段是源表中的年(ACCOUNTYEAR),月(ACCOUNTMONTH),地区(AREA_CODE)三个字段。但是在做SUM的时候,是要做一个累进的SUM,比如说:当做2006年3月的SUM&#20540;时,2006年3月的SUM&#20540;是等于,3月的合计&#20540;。
我现在的做法是先在Aggregator中按年,月,地区分别做好当年每个月的SUM&#20540;,然后再到下一个Expression中根据月(ACCOUNTMONTH)来做累加(比如,当月等于3时,我就把1,2,3月的SUM&#20540;加起来做为3月的聚合&#20540;),可是我这样做的时候,出来的结果,总是累加不起来,3月&#20540;仍然等于3月的当月SUM&#20540;。
请教各路大侠怎样做可以实现我的需求?或是我的做法有什么问题,需要怎么来改进?
先将结果集排序..然后,你看看 cume 函数..应该可以作.
用cume好像不解决问题呀,这个只按月累加的,不同地区和年要清零的。cume只能一直累加下去,可以用local variables,可以保留上一条的信息
设置三个变量,PRE_AREA,PRE_YEAR,CUME_VALUE,其中CUME_VALUE差不多是这个样子,
IIF(ACCOUNTAREA = PRE_AREA AND ACCOUNTYEAR = PRE_YEAR, CUME_VALUE &#43; AMOUNT, AMOUNT )
当然要注意按地区,年,月先排序。具体可以参照随机文档里面的Using Local Variables -&Store Values Across Rows。
想了想,在aggregator里面用cume遇到不同的group by条件后,应该是可以自动清0的,所以还是用cume简单些。
我觉得 cume 能实现, 实在不行,一次只处理一年的(这样考虑的东西少,最简单),用参数控制一下where子句..实在不行,可以考虑,将地区,年,月,合成一个字段..这个咋都能作..
能作的方法有多种..但我觉得这种最简单.
我现在目前就是只处理一年的,上午我试了下,用cume是可以的做的,但是以后肯定是不止一年的数据。
还有David说:”把地区,年,月合成一个字段,这咋都能作“,我有点不理解,能具体一点点吗?
字符串与呀..
我觉得还是一年一年处理比较好..
你可以作一个session,用参数来控制where 子句,每次作一年的...你用外部一个程序控制改变这个参数,并多次执行(pmcmd )..这样比较简单..
我知道把地区,年,月合成一个字段是字符串与,我的意思是说:把地区,年,月合成一个字段后,在我做累积SUM的时候怎么来用,为什么这样就可以”咋都能作“了?
不好意思,刚刚没讲清楚。:)
再用cume 呀.
Informatica学习笔记18:PC8.1运行出错
:confused:
用了一个最简单的例子,就源和目标的一个一一映射。应该说不会是流程的问题和参数设置问题。
运行后错误日志如下:
Message: *********** FATAL ERROR : Unexpected Condition in file [/ZeusbuilderProduction/view/powrmart/common/odl/oracle8/oradriver.cpp] line [241]. Contact Informatica Technical Support for assistance. Aborting this DTM process due to an unexpected condition.
***********
怀疑是不是PC8.1文件被破坏了,请各位高手指点一下可能会是什么问题??
你的这个问题,不是找到原因了吗..减小sorter 的cache 或增大 swap space..
看着像是ODBC方面的问题。
两个建议:
1.重启机器,试一下。有时安装完,没有重启,有些变量没有生效,会报这类问题。
2. 请用 DataDirect ODBC,重新导入源和目标结构,再作一个简单的例子,试一下。
1,我的PC8已经安装很久了(不过lisence还没过期,改过系统时间啦),所以呢机器已经重起很多次啦,应该不是这个问题
2,源和目标也重新导过,一样报错,另外我不管哪个task都是报这一样的错,所以应该不是某个组件的参数设置不合理(最后一次做的一个mapping根本就没有用到转换组件)
还有一点,我现在用的是PC8.1.0版本,但之前在这个知识库里还原进来的是PC8.1.1的.rep文件,所以我怀疑是不是版本不兼容,但是今天我又把PC8.1.1的知识库删了(只是把知识库及其内容删了,没将存放知识库的oracle用户删了重建),然后又创建了个PC8.1.0的新知识库,在这个平台下又做了mapping,运行后还是报一样的错。。。
你说的ODBC的问题我也想过,但不知道怎么来检查,因为错误信息里的那个路径我还没找到。。希望指点一下
你是按我说的用 datadirect ODBC建立一个ODBC,再用designer导入源,目标,作一个简单的mapping。。在workflow manager 中,你可建立基于oracle native driver的连接。
这个问题,就是ODBC的driver 不对。。要用 DataDirect 的那个
问题解决了。。。
原因是我导表结构时,使用的oracle提供的ODBC去导的。。driver是Oracle in OraHome92
这次我换了PC8提供的ODBC去导就好了,driver是DataDirect CLOSED ODBC 5.1 oracle wire protocol
问题是解决了,不过还是感到疑惑,这2个ODBC有什么不同吗,
疑问1,我用本地ODBC能导表结构说明本地ODBC应该没问题,是不是PC8不支持这种使用方法
2,我试过用本地ODBC导表结构,然后运行workflow时仍然用本地ODBC去取数,但仍然报错
3,我试过用oracle10g提供的ODBC导表结构,这样做出来的mapping能正常运行
我大概记着点,好像是Oracle客户端版本比较低,会有这个问题,所以1 时,导入结构会有问题.
Informatica学习笔记19:多行记录合并问题
请教各位高手,如下记录:
-----------
-----------------------------
1 a b c d e f
2 a b c d e f
用变量作,比较好作。。
用变量记住上一次记录的a 字段, if(pre_a=curr_a, then col_sum2||curr_b||curr_c as col_sum, else pre_b||pre_c as col_sum2), 可能最后加一个长度判断,把长度不为最后要求长度的过滤掉..这样作,好像不太灵活..
如果使用Sagent Data Flow的话至少有2种方法可以实现:
(1)利用pivot按行同时按列汇总的方式;
(2)表达式计算器中写一个表达式即可:if ( ((GetValue(&a&,0)==PutValue(&a&,第 1 列) )))
then(PutValue(&b&,GetValue( &b&,第 2 列&#43;第 3 列 )&#43;第 2 列&#43;第 3 列))
else(PutValue(&b&,第 2 列&#43;第 3 列))
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:71037次
积分:1131
积分:1131
排名:千里之外
原创:35篇
转载:73篇
(1)(3)(5)(8)(7)(5)(8)(20)(10)(5)(1)(2)(15)(18)}

我要回帖

更多关于 informatica教程 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信