要求实现每天抽取数据,而且是如果有改变才抽取更新,没有就不更新, 因为源表中有最后修改时间的字段,我让它 和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 \\-h tcs-china.db -o 9999 -H \-O 5001 -K 2082340862]. Error is [An error occurred while creating the repository.].
答:
建repository在\里面可以找到Active Log的,可以看看出错信息,出错多的好像都是插入一个LONG的值,通常建策略库出问题都是字符集捣的鬼,几个地方要注意数据库的字符集,系统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,启动