Inatica学习笔记十九点_第1页
Inatica学习笔记十九点_第2页
Inatica学习笔记十九点_第3页
Inatica学习笔记十九点_第4页
Inatica学习笔记十九点_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实用标准文案 摘要: Informatica学习笔记1:UPDATE AS INSERT Informatica学习笔记2:客户端连接服务器的问题 Informatica学习笔记3:workflow的问题 Informatica学习笔记4:Folder权限的问题 Informatica学习笔记6:建立workflow的问题 Informatica学习笔记7:workflow执行报错 Informatica学习笔记8:提示joiner输入字段没有排序 Informatica学习笔记9:import一系列mapping Informatica学习笔记10:复制数据库的问题 Informatica学

2、习笔记11:informatica services不能启动 Informatica学习笔记12:从mysql抽取数据的字符集问题 Informatica学习笔记13:没有Lincense导致的问题 Informatica学习笔记14:lookup中自定义sql有问题 Informatica学习笔记15:infopower如何实现增量抽取? Informatica学习笔记16:informatica 8.1 安装问题 Informatica学习笔记17:如何在PowerCenter中实现累加SUM 精彩文档实用标准文案 Informatica学习笔记18:PC8.1运行出错 Informati

3、ca学习笔记19:多行记录合并问题 Informatica学习笔记1:UPDATE AS INSERT 问: 要求实现每天抽取数据,而且是如果有改变才抽取更新,没有就不更新, 因为源表中有最后修改时间的字段,我让它 和SESSION上次运行时间比较来解决是否抽取, 但问题是有的表中没有主键,我该怎么实现更新呢 ? 有主键的我在WORKFLOW的MAPPING里面勾上了UPDATE ELSE INSERT 那没主键的用 UPDATE AS INSERT 行么? 还有UPDATE AS INSERT 什么意思啊,能解释的形象点么? 答: UPDATE AS INSERT 就是 语句一: updat

4、e 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:客户端连接服务器

5、问: 我通过客户端连接到服务器,做了一个workflow,运行的时候出现错误,说是服务器连接不上 repository server和infomatic server他俩的port是不是要一样还是不需要? 答: 看看server 的配置.我想可能是没有配置好. 问: Repository server服务起来了,就是informatica server起不来了,在配置的时候, 精彩文档实用标准文案 是informatica server的ip解析不出来,怎么才能把那个地址和主机对应起来 答: 1.直接写IP 2.编辑客户端的%WINDOWS%/SYSTEM32/DRIVERS/ETC/HOST

6、S文件,把ip与名字的对应关系加进去,客户端这台机器就可以自己解析了 3.找DNS或者什么解析服务器搞定。 问: informatica server装在unix操作系统下,能不能找到配置informatica server的配置文件对应的是那一个文件. 答: unix下缺省是pmserver.cfg,可以用pmconfig这个命令行工具修改配置文件,也可以直接打开编辑。 如果不是缺省的配置文件名可以通过, ps -efl|grep pmserver看看是哪个文件名。 问: 谢谢,pmserver.cfg这个文件中的配置信息我看过了,里面设置的都是repository server ip:19

7、和port:6001,怎么找不到配置的informatica server的ip:和port:4001我是想知道这个信息在配置文件中能找到吗? 精彩文档实用标准文案 答: 这个是在workflow manager里面注册的。双击server名字就看得到了。 问: 是的,我在workflow manager里看到过,只要在那里注册好了就行了吗,我想它应该存放在什么位置 所以想搞清楚,还是谢谢你. 答: 他存放在策略库的opb_server_info表里面,呵呵。你也可以试试看直接改数据库。 不过直接改数据库这种事情要悄悄的干,被david知道了要打pp的。

8、 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.

9、精彩文档实用标准文案 答: 没必要非得定义参数文件,直接在session 中,指定路径和文件名就行.如果是同结构批量的文件,可以用file list 功能. 参数文件也能作,相对来说是在外部控制路径和文件名,比较动态了. 那个错,不是让你去看 server log 吗. 去看看了. window 平台,default 去看事件管理器 Informatica学习笔记4:Folder权限的问题 问: Informatica用不同的用户创建的不同的folder,互相看不见是什么原因那? 答: 保护机制的作用,建folder的时候,在安全选项里可以设置! 把read权限赋给 repository us

10、er就可以了 也有可能是启用了 version control 的原因 Informatica学习笔记5:建立Repositories的时候出错 问: 我的Infromatica是安装在英文版的Windows环境下的,Matadata要放在 精彩文档实用标准文案 Oracle9i中,可是当我在建立Repository的时候怎么也连接不上我的Oracle9i数据库,而我用其他方式连接数据库是畅通的,在Windows的事件查看中看到如下信息: (368|752) Failure in running command-line request type100401 pmrepagent create

11、 -r TCS -t Oracle -u informatica -c Oradb -d MS1252 -h tcs-china.db -o 9999 -H cs-china.db -O 5001 -K 2082340862. Error is An error occurred while creating the repository. 答: 建repository在剜灥獯瑩牯?敓癲牥?浤湩獩牴瑡潩?潃獮汯履里面可以找到Active Log的,可以看看出错信息,出错多的好像都是插入一个LONG的值,通常建策略库出问题都是字符集捣的鬼,几个地方要注意数据库的字符集,系统NLS_LANG环境变

12、量,操作系统的缺省字符集(windows在地区设置里面看,还有缺省输入法也可能影响),理论上不同的字符集只要是可转换的,都是可以的,不过弄成一样的比较简单了。 问: 谢谢guruhao的提示和帮助,我决定将Oracle和Informatica重新安装一下再来测试一次, 精彩文档实用标准文案 我的操作系统的缺省字符集(windows在地区设置里面)是china 系统NLS_LANG环境变量是N/A 答: 这一段都是正常的,drop table不成功,属于建库之前清理表的动作, 还要往后,大约在中间的位置。有个真正的插入数据的错, 你最好设置一下NLS_LANG使之与oracle server的字

13、符集相匹配。 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

14、 completed yet 我检查了一下:server中的各服务已经正常启动了,但是就是运行时出现这种情况,请问是什么原因导致的?以及怎样解决呢?各位知道的就请说一下吧。 精彩文档实用标准文案 答: 该错误应该是说你建的这个workflow正在运行,且还没有结束,因而你不可以再次启动该工作流。你可以通过Monitor观察一下。 问: 该错误应该是说你建的这个workflow正在运行,且还没有结束,因而你不可以再次启动该工作流。你可以通过Monitor观察一下。 但是我在monitor中又看不到任何的session在运行啊 答: 将你的informatica server在service里重新

15、启动后再运行看看 (问:过一阵子之后再运行就正常了。不知道为什么?怪怪的) 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 unex

16、pected 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 m

17、apping when importing it. 谢谢!找到原因了,原来是某一个字段的连接线没有连上导致的错误。可是我有个疑问,为什么有的控件出现这种情况的时候就没有问题呢? Informatica学习笔记8:提示joiner输入字段没有排序 问: 我们这里是异地开发,从北京拿过来的mapping,在那里都可以跑通,而且没有任何问题,但是怎么拿到我这里就提示joiner输入字段没有排序呢?问题可能发生在什么地方呢? 答: 精彩文档实用标准文案 你的join 控件应该是来自同一个数据源的,你在join 控件前增加一个Sorter 控件,将join 的输入数据源排序。 Informatica学习

18、笔记9:import一系列mapping 问: 求教,要import一系列mapping,但是codepage不一致,应该怎么调整? 答: codepage 不一致,一定得改.反正一个XML,只需要改两个地方.如果XML很多,写一个小程序,会方便点.如果少,手工改一下就好了. 一系列的xml? 是指很多,是吗? 1.建议你在导出时,用rep manager, 将很多对象打一个包导出. 2.pmrep 命令行,有个object import 功能,写一个批量的 .bat 导了 Informatica学习笔记10:复制数据库的问题 问: 请教各位大侠:我要用PowerCenter复制一个数据库,源

19、库是一个SQL Server的数据库,目标库是DB2数据库,请问怎么做? 答: 一个表一个表的做。 精彩文档实用标准文案 如果想一次复制所有表,干脆用SQL server的DTS好了。 如果是整个库的话,不如用DB import/export了. ETL强调的是T. Informatica学习笔记11:informatica services不能启动 问: 环境: 在一台机器上安装了informatica servicesclientoracle 10g(作为repository)。informatica的版本是8.1.1,启动informatica services时没有错误,但是过几分钟就

20、停了。日志信息catalina.out如下: 2006-11-28 16:12:46 org.apache.coyote.http11.Http11Protocol init 信息: Initializing Coyote HTTP/1.1 on http-6001 2006-11-28 16:12:46 org.apache.catalina.startup.Catalina load 信息: Initialization processed in 1234 ms 2006-11-28 16:12:46 org.apache.catalina.core.StandardService sta

21、rt 信息: Starting service Catalina 2006-11-28 16:12:46 org.apache.catalina.core.StandardEngine start 信息: Starting Servlet Engine: Apache Tomcat/5.0 2006-11-28 16:12:46 org.apache.catalina.core.StandardHost start 精彩文档实用标准文案 信息: XML validation disabled 2006-11-28 16:12:47 org.apache.catalina.core.Standa

22、rdHost getDeployer 信息: Create Host deployer for direct deployment ( non-jmx ) 2006-11-28 16:12:47 org.apache.catalina.core.StandardHostDeployer install 信息: Processing Context configuration file URL file:c:InformaticaPowerCenter8.1.1servertomcatconfCatalinalocalhostadminconsole.xml java.lang.Unsatisf

23、iedLinkError: D:InformaticaPowerCenter8.1.1serverbinpmjrepn.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

24、:WINNTsystem32 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 theserverbin directory to the C:WINNTsystem32 directory. is the Informatica installation directory. Re-start the Informatica Services Windows service. Try it again,

25、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中的

26、那个ODBC的连接,应该也有codepage的设置吧.改改试试. 问: informatica server的code page是ISO 8859-1 ,你得改成UNICODE的模式, 精彩文档实用标准文案 才可以比较适合作转换.你在workflow manager中的那个ODBC的连接,应该也有codepage的设置吧.改改试试. 谢谢斑竹。 问题是我没办法去改informatica server的配置。如果就用当前配置,有可能做到正确抽取中文么?能够做一些编码的转换来实现么? 答: 乱码,就找几个点的码制设定了. 源就那样了, ETL服务器上配的ODBC,可能会有codepage 相关;

27、再就是ETL 服务器, 你已设为ISO 8859-1,如果不对中文数据作转换,应该不会乱; workflow manager中,配置ODBC我忘了是不是也有code page 设定了.就这么几块.你分开检查一下了. 你用个什么工具,通过系统ODBC去访问一下,如果看到的不是乱码,再从后面几点排这个错了. (修改了连接mysql的odbc,加上 stmt=SET NAMES utf8 就好了,谢谢斑竹!) Informatica学习笔记13:没有Lincense导致的问题 问: 各位兄弟们帮忙看一下,informatica的问题,我使用的是6版本,目标数据库是 精彩文档实用标准文案 oracle

28、 10g,在安装好,配置好的时候,执行workflow的时候报这样的错误 CMN_1022 Database driver error. CMN_1022 MicrosoftODBC 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 dat

29、abase using user test_loc and connection string 2. 答: 你用的是ODBC.是UNIX下,还是window? 为什么不用Oracle native driver? 这个看起来,像是你在系统建的ODBC,没有找到. 你在系统的ODBC,建立一个连接,例如: odbc_ora_hr ,测试一下,看是不是能连接到远程的oracle server. 你在workflow manager中,建立ODBC时,那个connectstring 写上这个名 精彩文档实用标准文案 字.odbc_ora_hr 如果在系统的ODBC是通的,应该就

30、可以了吧. 问: 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 t

31、arget 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_tes

32、t_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.co

33、l1 and f.col2 = fs.col2) is null; 执行这条sql查出0条记录 但我运行上面的mapping 还是有数据流过filter 遇到过有部分数据流过(filter起了部分作用)、也遇到过数据全部流过(filter没起作 精彩文档实用标准文案 用) 当然对应的mapping是不一样的 我上面的mapping只是个例子 规则是一样的 请问大家遇到过或者有什么建议没有? 答: 已找到部分原因 lookup中自定义sql有问题 Informatica学习笔记15:infopower如何实现增量抽取? 问: 在 informatica powercenter中如何实现增量抽取?

34、我想了一下使用时间戳,但是这个时间戳如何去使用不是很明白,希望各位高人在这边能指点一下,如果有例子更好,在这里先谢谢了! 答: 有时间戳就直接用呗,总有个办法记录上次抽取的时间的,也有办法设置本次的截止日期 然后 where timestamp last_time and timestamp TO_DATE ($LastUpdateDateTime) AND SALES.sales_datetime Store Values Across Rows。 想了想,在aggregator里面用cume遇到不同的group by条件后,应该是可以自动清0的,所以还是用cume简单些。 我觉得 cume

35、 能实现, 实在不行,一次只处理一年的(这样考虑的东西少,最简单),用参数控制一下where子句.实在不行,可以考虑,将地区,年,月,合成一个字段.这个咋都能作. 能作的方法有多种.但我觉得这种最简单. 问: 我现在目前就是只处理一年的,上午我试了下,用cume是可以的做的,但是以后肯定是不止一年的数据。 还有David说:”把地区,年,月合成一个字段,这咋都能作“,我有点不理解,能具体一点点吗? 精彩文档实用标准文案 答: 字符串与呀. 我觉得还是一年一年处理比较好. 你可以作一个session,用参数来控制where 子句,每次作一年的.你用外部一个程序控制改变这个参数,并多次执行(pmc

36、md ).这样比较简单. 我知道把地区,年,月合成一个字段是字符串与,我的意思是说:把地区,年,月合成一个字段后,在我做累积SUM的时候怎么来用,为什么这样就可以”咋都能作“了? 不好意思,刚刚没讲清楚。:) 再用cume 呀. Informatica学习笔记18:PC8.1运行出错 问: :confused: 版本PC8.1 用了一个最简单的例子,就源和目标的一个一一映射。应该说不会是流程的问题和参数设置问题。 运行后错误日志如下: 精彩文档实用标准文案 Message: * FATAL ERROR : Unexpected Condition in file ZeusbuilderProd

37、uctionviewpowrmartcommonodloracle8oradriver.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根本就没有用到转换组

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论