InformaticaheDAC简介和常见问题解决
--创建三个表空间,分别用于存储Informatica、DAC、DW
create tablespace INFORMATICA datafile 'E:\app\Administrator\oradata\orcl\informatica01.dbf' size 2000M autoextend on MAXSIZE 4000M;
create tablespace DAC datafile 'E:\app\Administrator\oradata\orcl\dacd01.dbf' size 400M autoextend on;
create tablespace BIDWD datafile 'E:\app\Administrator\oradata\orcl\bidwd01.dbf' size 4000M autoextend on MAXSIZE 8000M;
create tablespace BIDW_INDEXD datafile 'E:\app\Administrator\oradata\orcl\bidw_indexd01.dbf' size 2000M autoextend on MAXSIZE 4000M;
--创建Role,并分配权限
create role SSE_ROLE;
grant connect,resource to SSE_ROLE;
--创建数据库用户
CREATE USER infodomain IDENTIFIED BY infodomain DEFAULT TABLESPACE INFORMATICA TEMPORARY TABLESPACE TEMP;
CREATE USER inforeps IDENTIFIED BY inforeps DEFAULT TABLESPACE INFORMATICA TEMPORARY TABLESPACE TEMP;
CREATE USER dacreps IDENTIFIED BY dacreps DEFAULT TABLESPACE DAC TEMPORARY TABLESPACE TEMP;
CREATE USER bidw IDENTIFIED BY bidw DEFAULT TABLESPACE BIDWD TEMPORARY TABLESPACE TEMP;
GRANT SSE_ROLE,
CREATE ANY TABLE,
DROP ANY TABLE,
CREATE ANY INDEX,
DROP ANY INDEX,
CREATE ANY VIEW,
DROP ANY VIEW,
UNLIMITED TABLESPACE
TO infodomain,inforeps,dacreps,bidw;Treat source rows as – 对目标表来说,如何处理抽取的数据,一般情况下选择‘Insert’,如果Mapping中有用到UPD控件时,选择‘Data Driven’
3、某些字段没有数据
造成原因可能是,这些字段的类型发生了细微的变化,可能是在目标表和源表也可能是在exp组件转换的时候字段类型发生变化
4、没有指定键错误
在Informatica中给目标表设定一个主键即更新主键
5、Database driver error...
CMN_1022 [The server does not support the database type specified on this OS platform.]
workflow连接Sqlserver遇到问题
详见http://datawarehouse.ittoolbox.com/groups/technical-functional/informatica-l/cmn_1022-the-server-does-not-support-the-database-type-specified-on-this-os-platform-3925413
和http://wenku.baidu.com/link?url=qiSjn6UCFbnYK0ousrkN6T8U2jnwOCwUVTd1uLiUmqhizlDP1lnIsVj6u9Ic8s07K9JIQvUYKVMyKEFZvPlTjPGDSM7WVNszbjVYjL6q6VC
在Linux服务器上的配置和修改(root用户)
export ODBCHOME=/biapptest/etl/Informatica/9.5.1/ODBC7.0
export PATH=$ODBCHOME/bin:$PATH
export LD_LIBRARY_PATH=$ODBCHOME/lib
cp $ODBCHOME/odbc.ini $HOME/.odbc.ini
vi $HOME/.odbc.ini 添加下面内容
[ODBC Data Sources]
SQLServerODBC=DataDirect 7.0 SQL Server Legacy Wire Protocol
[SQLServerODBC]
Driver=/biapptest/etl/Informatica/9.5.1/ODBC7.0/lib/DWmsss26.so
Description=DataDirect 7.0 SQL Server Legacy Wire Protocol
Database=kingageYPH
LogonID=sa
Password=1q2w!Q@W
Address=10.2.1.12,1433
QuoteId=No
AnsiNPW=No
又在网上搜到这个链接https://community.oracle.com/thread/2594875
查看错误
isql -v SQLServerODBC
说是LD_LIBRARY_PATH没弄好,但是LD_LIBRARY_PATH有效是依然报这个错误
Everything in the strace file looks like a wrong LD_LIBRARY_PATH setting where the location of the Oracle client lib (for example libclntsh.so.12.1) is missing.
You mentioned above that you have set it, but got the same error.
1. Where is your libclntsh.so.12.1 library located?
2. Can you please again make sure the correct LD_LIBRARY_PATH is set and post the env setting as well as the isql output and a link to another, new isql.log file?
跟踪到的原因是 LD_LIBRARY_PATH没设置正确
env查看环境信息
LD_LIBRARY_PATH并没有设置为Informatica的路径
vi /home/bietltest/.bash_profile
新加红色框中的路径
然后切换用户使其生效
su - bietltest
用env命令查看环境设置是否生效
再重启Informatica服务
先重启tomcat服务
cd /biapptest/etl/Informatica/9.5.1/tomcat/bin
然后进入
cd /biapptest/etl/Informatica/9.5.1/server/tomcat/bin
重启Informatica的服务
下面是配置列表: 1)Informatica Repository Server Codepage: MS Windows Latin 1 (ANSI), superset of Latin1--在我的机器上只能设置成两个code page,一个如上,另外一个是西欧字符WEISO8859-1之类的,不知道为什么?不过好像没有什么影响,根据我的猜测,可能是因为一个存储在Repository Server的配置信息比如server_name等等只要不是中文,全是英文的,就没有必要别的了,ANSI就足够了。 2)Informatica Server: Movement Mode 必须设置成 Unicode Mode 否则将会报错,诸如“Downcast error translating unicode character to ASCII”, 另外应该注意将Validate Data Codepage这项去掉(不选此项)。相应的配置界面在此不在赘述。 3)Database Connection definition 需要在Workflow Manager中配置,code page 应该和实际的target数据库一致。因此应该设成“MS Windows Simplified Chinese”,这点也很关键。 4)Server Definition in Workflow Manager: 应该和Repository Server 的codepage 一致,因为Informatica Server进程会连接Repository读取一些Server的基本信息,然后进程会打开一个端口来监听来势客户端的会话( it will open a Server Port [i.e.4001] to listen for client connections),因此code page 应该设置成 "MS Windows Latin 1 (ANSI), superset of Latin1". 否则Server在控制面板中会起不来。 配置基本完成,然后就是开发mapping, session和workflow, 并且运行,在此不再赘述。 |
主要是在系统配置ODBC的时候加一个编码。
Driver=/biapptest/etl/Informatica/9.5.1/ODBC7.0/lib/DWmsss26.so
Description=DataDirect 7.0 SQL Server Legacy Wire Protocol
Database=king
LogonID=sa
Password=123
Address=10.2.1.12,1433
QuoteId=No
AnsiNPW=No
IANAAppCodePage=113 --113代表GBK
7、Informatica导入表出现很多相同的列
原因是oracle协议不一致导致
需要安装oracle客户端选择Oracle in OraClient11g_home1协议
8、SQ无法生成SQL
错误信息:ORA-26002
解决方法:
1.drop index
2.disable parallel loading
3.skip INDEX_MAINTAIN(不理解,没遇到过,还是疑问)
对于2解释如下:
这种错误的处理其实可以考虑几种方法: 数据表里要建的这几列有重复的值,要么 1、删除重复值,然后再建唯一索引 2、就不建唯一索引 3、或指定deferrable novalidate不校验表里已存在数据,只对以后的数据有影响。