Informatica批量导入、导出xml文件

本文介绍了一种使用Informatica进行对象批量导入导出的方法,包括具体的Shell脚本实现及控制文件配置细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、批量导入命令:

$ pmrep >connect -r Repository_TST -d Domain_TST -n Administrator -x Administrator
导入对象
$ pmrep > objectimport -i ./wf_I_EX_O_GSP_FCIL.XML -c ./wf_import.ctl 
导出对象
1、导出Source
$ pmrep > objectexport -n Flat_File.B_SALES -o source -f BW -m -s -b -r -u /home/infa/Informatica/9.6.1/server/infa_shared/Temp/B_SALES.xml
2、导出mapping
objectexport -n I_C_TRADE_FLW_LEG -o mapping -f BW_Oracle -m -s -b -r -u /home/infa/Informatica/9.6.1/server/infa_shared/Temp/I_C_TRADE.xml
3、导出整个主题
objectexport -f BW_Oracle -u /home/infa/Informatica/9.6.1/server/infa_shared/Temp/BW_Oracle/BW_Oracle.xml

2、批量导出脚本

#!/bin/bash  
# -----------------------------------------------------------------------
# Script Name: inf_expobj.sh
# Purpose: To batch export mappings or workflows to xml files 
# Created by: 
# Date: 2017-06-06
# ----------------------------------------------------------------------
function usage {
cat <<EOU
Usage:
  # inf_expobj.sh /home/infa/Informatica/9.6.1/server/infa_shared/Temp/list_file /home/infa/Informatica/9.6.1/server/infa_shared/Temp
    inf_expobj.sh 
EOU
exit 1
}
repository="Repository_TST"
domain="Domain_TST"
user_name=Administrator
password=Administrator
list_file=/home/infa/Informatica/9.6.1/server/infa_shared/Temp/list_file

pmrep connect  -r $repository -d $domain -n Administrator -x Administrator
if [ $? -ne 0 ]; then
echo "Can not connect to the informatica repository!"
exit 1; 
fi

row_count=`cat $list_file|wc -l`
success=0
fail=0
 
for((row=1;row<=$row_count;row++))
do
curr_xml=`sed -n ${row}'p' $list_file`
project_name=`sed -n ${row}'p' $list_file | awk '{print $1}'`
project_name=`echo $project_name|sed 's/\\r//g'`
obj_type=`sed -n ${row}'p' $list_file | awk '{print $2}'`
obj_type=`echo $obj_type|sed 's/\\r//g'`
object_name=`sed -n ${row}'p' $list_file | awk '{print $3}'`
object_name=`echo $object_name|sed 's/\\r//g'`
echo  $curr_xml 

output_folder=/home/infa/Informatica/9.6.1/server/infa_shared/Temp/$project_name/$obj_type
if [[ ! -d ${output_folder} ]] ; then 
        mkdir -p ${output_folder}
fi

#pmrep objectexport -n $object_name -o $obj_type -f $client_delpdw -m -s -b -r -u ${output_folder}/${object_name}".xml">>infa_expobj.log
 pmrep objectexport -n $object_name -o $obj_type -f $project_name -m -s -b -r -u ${output_folder}/${object_name}".xml">>infa_expobj.log
if [ $? -eq 0 ]; then
    let success=$success+1
        echo "${object_name} export successfully!"
else
    let fail=$fail+1
    echo "${object_name} fail to export."
fi
 
#if [ obj_type="source" ]; then
#new_object_name=`echo $object_name|sed 's/flatfile.//g'`
#mv ${output_folder}/${object_name}".xml"  ${output_folder}/${new_object_name}".xml"
#fi
 
done
 
echo "$success success; $fail fail"

3、后台执行脚本:

nohup sh inf_expobj.sh &
删除后台进程
ps -ef | grep export 
kill -9 进程号

4、附


导入对象时的控制文件比较复杂:文本中第二行 IMPORTPARAMS SYSTEM "/home/infa/software/961/source/server/bin/impcntl.dtd" 引号的参数需要根据服务器情况修改
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE IMPORTPARAMS SYSTEM "/home/infa/software/961/source/server/bin/impcntl.dtd"> 
<IMPORTPARAMS> 
<FOLDERMAP
  SOURCEFOLDERNAME="BW_Oracle"
  SOURCEREPOSITORYNAME="Repository_TST"
  TARGETFOLDERNAME="BW_Oracle"
  TARGETREPOSITORYNAME="Repository_TST"/>
<TYPEFILTER TYPENAME="SOURCE"/>
<TYPEFILTER TYPENAME="TARGET"/>
<TYPEFILTER TYPENAME="MAPPLET"/>
<TYPEFILTER TYPENAME="MAPPING"/>
<TYPEFILTER TYPENAME="TRANSFORMATION"/>
<TYPEFILTER TYPENAME="CONFIG"/>
<TYPEFILTER TYPENAME="TASK"/>
<TYPEFILTER TYPENAME="SESSION"/>
<TYPEFILTER TYPENAME="SCHEDULER"/>
<TYPEFILTER TYPENAME="WORKFLOW"/>
<TYPEFILTER TYPENAME="SCHEDULER"/>
<TYPEFILTER TYPENAME="WORKLET"/>
<RESOLVECONFLICT>
<TYPEOBJECT RESOLUTION="REPLACE" OBJECTTYPENAME="WORKFLOW"/>
<TYPEOBJECT RESOLUTION="REPLACE" OBJECTTYPENAME="WORKLET"/>
<TYPEOBJECT RESOLUTION="REPLACE" OBJECTTYPENAME="SESSION"/>
<TYPEOBJECT RESOLUTION="REPLACE" OBJECTTYPENAME="MAPPING"/>
<TYPEOBJECT RESOLUTION="REPLACE" OBJECTTYPENAME="MAPPLET"/>
<TYPEOBJECT RESOLUTION="REPLACE" OBJECTTYPENAME="Source definition"/>
<TYPEOBJECT RESOLUTION="REPLACE" OBJECTTYPENAME="Target definition"/>
<TYPEOBJECT RESOLUTION="REPLACE" OBJECTTYPENAME="Expression"/>
<TYPEOBJECT RESOLUTION="REPLACE" OBJECTTYPENAME="Filter"/>
<TYPEOBJECT RESOLUTION="REPLACE" OBJECTTYPENAME="Aggregator"/>
<TYPEOBJECT RESOLUTION="REPLACE" OBJECTTYPENAME="Rank"/>
<TYPEOBJECT RESOLUTION="REPLACE" OBJECTTYPENAME="Normalizer"/>
<TYPEOBJECT RESOLUTION="REPLACE" OBJECTTYPENAME="Router"/>
<TYPEOBJECT RESOLUTION="REPLACE" OBJECTTYPENAME="Sequence"/>
<TYPEOBJECT RESOLUTION="REPLACE" OBJECTTYPENAME="Sorter"/>
<TYPEOBJECT RESOLUTION="REPLACE" OBJECTTYPENAME="update strategy"/>
<TYPEOBJECT RESOLUTION="REPLACE" OBJECTTYPENAME="Custom Transformation"/>
<TYPEOBJECT RESOLUTION="REPLACE" OBJECTTYPENAME="Lookup Procedure"/>
<TYPEOBJECT RESOLUTION="REPLACE" OBJECTTYPENAME="Transaction control"/>
<TYPEOBJECT RESOLUTION="REPLACE" OBJECTTYPENAME="Stored Procedure"/>
<TYPEOBJECT RESOLUTION="REPLACE" OBJECTTYPENAME="External Procedure"/>
<TYPEOBJECT RESOLUTION="REPLACE" OBJECTTYPENAME="Joiner"/>
<TYPEOBJECT RESOLUTION="REPLACE" OBJECTTYPENAME="SessionConfig"/>
<TYPEOBJECT RESOLUTION="REPLACE" OBJECTTYPENAME="Email"/>
<TYPEOBJECT RESOLUTION="REPLACE" OBJECTTYPENAME="Command"/>
<TYPEOBJECT RESOLUTION="REPLACE" OBJECTTYPENAME="Scheduler"/>
</RESOLVECONFLICT>
</IMPORTPARAMS>
https://search.informatica.com/KBHome/
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值