Informatica PowerCenter Connector
Overview
The Informatica PowerCenter Connector ingests workflow and mapping metadata to build end-to-end lineage across your ETL ecosystem. It supports:
- Extraction from PowerCenter XML exports (via pmrep or admin-provided files)
- Optional read-only lookups to the PowerCenter Repository DB and Domain DB to enrich connections, parameters, and folder selection
- Parsing of parameter files and domain values to materialize runtime values (connections, schema/table names, SQL/file variables)
Supported PowerCenter versions: 7, 8, 9, 10
Setup
There are two supported approaches for configuring the connector. Choose one:
- Approach A (Recommended): Connect directly to PowerCenter with pmrep to automate XML export.
- Approach B: Have a PowerCenter admin generate XML files and provide them to Lineage Plus.
Approach A — Automated Export (pmrep)
This method runs pmrep
utilities from the Lineage Plus host to extract XML definitions automatically.
Steps:
-
Install prerequisites
- Install PowerCenter Client and ensure
pmrep
utilities are present. - Copy
domains.infa
to the pmrep root directory. - Ensure
powrmart.dtd
is present in the export directory.
- Install PowerCenter Client and ensure
-
Configure environment variables (if needed)
INFA_DOMAINS_FILE
= path todomains.infa
.LD_LIBRARY_PATH
= UNIX library paths.
-
Validate pmrep
-
pmrep connect -r "repository_name" -d "domain_name" -n "user" -x "password"
-
-
Run snapshot exports
-
# Connect pmrep connect -r "edward-infa_95_unit_test" -d "Domain_vm-pwrctr95" -n "Administrator" -x "xxxxx" # Export a folder pmrep objectexport -f "TestProject" \ -u "E:\apps\Powercenter_utils\PC95\unittest95\TestProject.xml" \ -l "E:\apps\Powercenter_utils\PC95\unittest95\TestProject.log"
-
Approach B --- Manual Export (Admin-Provided Files)
This method requires a PowerCenter admin to export XML files and provide them to the Lineage Plus host.
Steps:
-
PowerCenter admin exports each FolderName.xml manually.
-
Place exported XMLs into the snapshot landing directory defined by powercenter.file.url.1.
-
Ensure filenames match their corresponding folders (e.g., TestProject.xml).
-
Confirm powrmart.dtd is present in that directory.
Configurable Parameters
Key | Default | Example | Description |
---|---|---|---|
PowerCenter Database Connection | |||
powercenter.connect.to.db.1 | yes | yes | Extract connection info from the PowerCenter Repository DB. If no , you must specify explicit powercenter.folder.name.1 values (no wildcards) and you may see duplicate connections. |
db.type.1 | — | Oracle | Repository DB type: Oracle , SQLServer , DB2 , Netezza , Teradata , Informix , Sybase . |
hibernate.connection.url.1 | — | jdbc:oracle:thin:@atlas:1521:atlas | JDBC URL for Repository DB. For SQL Server Windows auth, use jdbc:sqlserver://<host>:<port>;databaseName=<db>;IntegratedSecurity=true . |
hibernate.connection.username.1 | — | powercenter_db_user | Repository DB user. Leave blank when using SQL Server Windows auth. |
hibernate.connection.password.1 | — | powercenter_db_user_password | Repository DB password. Leave blank when using SQL Server Windows auth. |
hibernate.default_schema.1 | — | PowerCenter_Schema | For Oracle/DB2 when the login user does not own PowerCenter tables. |
PowerCenter Repository Information | |||
powercenter.repo.username.1 | — | powercenter_repo_db_user | PowerCenter Repository username (requires Use/Access Repository Manager permission). Optional if XML exports are already provided. |
powercenter.repo.password.1 | — | powercenter_repo_db_user_password | PowerCenter Repository user password. Optional if XML exports are already provided. |
powercenter.domain.name.1 | — | Domain_vm-pwrctr-86 | 8.x/9.x/10.x only. Repository domain name. Leave blank for v7. |
powercenter.repository.name.1 | — | atlas-infa_86_test | Repository instance name. If loading Informatica Cloud XMLs, this acts as a logical/proxy repository name. |
powercenter.version.1 | — | 8 | PowerCenter version. Allowed values: 7 , 8 (use 8 for versions 8/9/10). |
powercenter.hostname.1 | — | pm_server.dag.com | v7 only. Repository server hostname. Leave blank for v8+. |
powercenter.port.1 | — | 5001 | v7 only. Repository server port. Leave blank for v8+. |
PowerCenter PMREP Utility Information | |||
powercenter.pmrep.location.1 | — | C:\PowerCenter86\server\bin | Path to pmrep utilities on the snapshot host (Windows or UNIX path). Optional if XML exports are already available. |
powercenter.command.1 | OS default | cmd.exe | Shell to run pmrep (cmd.exe on Windows, /bin/sh on UNIX). |
powercenter.terminate.command.1 | — | /C | Shell termination flag (/C Windows, -t /set -t UNIX). |
powercenter.script.1 | — | dagrun86.bat | Script file created and executed to run pmrep exports (usually under metacenter_home/scripts ). |
powercenter.user.security.domain.1 | — | DomainName | LDAP security domain for pmrep (adds -s to pmrep connect ). |
powercenter.delete.extract.file.1 | Yes | Yes | Delete the generated pmrep script after it runs. |
powercenter.file.url.1 | — | C:\PowerCenter86\<foldername>.xml | Destination (auto-export) or source (manual) XML path. powrmart.dtd must be present in this directory when processing. |
powercenter.file.extract.1 | Yes | Yes | Yes = export XML via pmrep; No = read existing XML from powercenter.file.url.1 . |
powercenter.folder.name.1 | — | Project1,Fin* | Comma-separated folder filters. If connect.to.db=no , must provide explicit names (no wildcards/blank). Wildcards: ? (single), * (multi), escape with \\ . Case-sensitive. |
powercenter.exclude.string.1 | — | /,DAG | Exclude folders containing any of these strings. Case-sensitive. |
powercenter.exclude.workflows.1 | — | folder*,w_*;*,w_s* | Exclude folder/workflow pairs; multiple pairs separated by ; . Wildcards supported; case-sensitive. |
powercenter.exclude.workflows.file.1 | — | E:\apps\resources\PowerCenter\demo102\wlist.csv | CSV with headers Folder Name,Workflow Name listing workflows to exclude (supports ? /* ; case-sensitive). |
powercenter.include.workflows.1 | — | EDW_VER2,wf_EDW_ver2 | Include folder/workflow pairs; multiple pairs separated by ; . Wildcards supported; case-sensitive. |
powercenter.include.workflows.file.1 | — | D:\apps\metacenter_home\resources\PowerCenter\Monthly_Workflows.csv | CSV with headers Folder Name,Workflow Name listing workflows to include (supports ? /* ; case-sensitive). |
powercenter.create.fds.for.powerexchange.1 | No | No | Create File Data Store objects for PowerExchange sequential files. |
Parameter File Parsing Information | |||
powercenter.parse.params.1 | Yes | Yes | Parse parameter files and apply values in Connection/Parameter managers. |
powercenter.parse.param.data.from.1 | db_and_file | db | Source of parameter data: db , file , or db_and_file . |
powercenter.param.folder.names.1 | — | C:\Parameter_files\prod\Parameters\ | One or more paths (comma-separated). Trailing \\ loads all files in folder and subfolders; without it, only the folder itself. |
powercenter.param.include.files.1 | * | *.prm | Include filter(s) for parameter filenames. Wildcards supported; case-sensitive. |
powercenter.param.exclude.files.1 | — | *_old.prm | Exclude filter(s) for parameter filenames. Wildcards supported; case-sensitive. |
powercenter.param.use.param.file.name.1 | No | Yes | If Yes , match parameters by the object’s parameter filename (Workflow takes precedence over Session). Recommended only if most objects have filenames populated. |
powercenter.parameter.db.username.1 | — | powercenter_param_db_user | DB user for parameter sourcing (when db /db_and_file ). |
powercenter.parameter.db.password.1 | — | powercenter_param_db_user_password | DB password for parameter sourcing. |
powercenter.parameter.db.type.1 | — | oracle | Parameter source DB type. |
powercenter.parameter.db.hibernate.connection.url.1 | — | jdbc:oracle:thin:@atlas:1521:atlas | JDBC URL for parameter source DB. |
powercenter.parse.parameter.sql.1 | — | SELECT GLOBAL_STR,... | SQL returning: GLOBAL_STR, FOLDER_NAME, WORKFLOW_NAME, WORKLET_NAME, SESSION_NAME, MAPPLET_NAME, PARAMETER_NAME, PARAMETER_VALUE (nulls allowed where N/A). |
powercenter.param.file.names.replacements.1 | — | "...=...",\.prm=.parm | Regex replacement pairs for parameter filenames (e.g., _<timestamp>=. , .prm=.parm ). |
powercenter.indirect.list.folder.1 | — | D:\apps\metacenter_home\resources\PowerCenter\listfiles\<indirectfile> | Folder of indirect file(s) used to source file names. |
powercenter.fds.replacements.1 | — | "[0-9]{14}=ODATE",... | Regex replacement pairs applied to file names when creating File Data Stores. |
Domain File Parsing Information | |||
powercenter.read.domain.info.1 | Yes | Yes | Extract Domain value parameters for use in Connection/Parameter managers. |
powercenter.extract.domain.info.from.db.1 | Yes | Yes | If Yes , read Domain XML from Domain DB; if No , read from a file. |
powercenter.domain.db.username.1 | — | powercenter_domain_db_user | Domain DB username. |
powercenter.domain.db.password.1 | — | powercenter_domain_db_user_password | Domain DB password. |
powercenter.domain.db.type.1 | — | oracle | Domain DB type. |
powercenter.domain.hibernate.connection.url.1 | — | jdbc:oracle:thin:@atlas:1521:atlas | JDBC URL for Domain DB. |
powercenter.domain.xml.1 | — | C:\Parameter_files\prod\domain_cvs.xml | Domain XML file path (single file). |
Lineage Plus Configuration | |||
snapshot.output.1 | — | metacenter.jcr#Snapshots/<metacenter instance id>/PowerCenter/<prefix><repositoryname> | Content Repository destination; replace <metacenter instance id> and <prefix> . |
snapshot.filtering.mode.1 | — | singlewithinclude | singlewithinclude : one repo; include-only (requires more JVM heap on large repos). multiplewithexclude : many repos (one per folder); simpler for large systems. |
environment.name.1 | — | DW_production | Logical environment name to group Projects/Folders; used to group connections/parameters. |
Informatica Cloud Settings | |||
powercenter.load.workflow.xmls.1 | Yes | Yes | Load workflow XML files from the specified location (Informatica Cloud). |
powercenter.workflow.xml.folder.1 | — | E:\apps\metacenter_home\resources\PowerCenter\cloud | Directory containing workflow XML files exported from Informatica Cloud. |
Optional Configuration Settings | |||
powercenter.ignore.lkp.fields.for.data.flow.1 | Yes | Yes | If No , lineage will include Lookup Transformation condition fields; default Yes excludes them. |
powercenter.path.replacements.1 | — | "/home/:CF.SOURCE/=E:\...\LKP-Directory\",... | Path rewrite rules for locating parameter files when parsing override scripts. |
powercenter.calculate.expression.summary.1 | Yes | Yes | Enable Expression/Type summarization analysis. |
powercenter.filter.on.isenabled.isvalid.1 | Yes | Yes | Filter out tasks marked Disabled or Invalid. |
powercenter.connect.expression.field.lookup.inputs.1 | No | Yes | If Yes , link expression fields to inputs of unconnected lookups. |
powercenter.exclude.sessions.file.1 | — | D:\apps\metacenter_home_3125\resources\PowerCenter\Monthly_Excluded_Sessions.csv | CSV of Sessions to exclude from snapshot. |
powercenter.replace.segment.with.fields.1 | Yes | Yes | Enable data record field expansion for lineage. |
powercenter.replace.segment.name.1 | — | Data_Segment,NK_Segment | Comma-separated field names to expand. |
powercenter.replace.segment.ignore.fields.1 | — | Source_System_Code | Comma-separated field names to exclude from expansion. |
Sample Properties
# ===== Repository DB (enable for connection & folder discovery) =====
powercenter.connect.to.db.1=yes
db.type.1=Oracle
hibernate.connection.url.1=jdbc:oracle:thin:@atlas:1521:atlas
hibernate.connection.username.1=powercenter_db_user
hibernate.connection.password.1=${PC_DB_PASSWORD}
# hibernate.default_schema.1=POWERCENTER_SCHEMA # Only if needed
# ===== PowerCenter repo/version =====
powercenter.version.1=8
powercenter.domain.name.1=Domain_vm-pwrctr-86
powercenter.repository.name.1=atlas-infa_86_test
powercenter.repo.username.1=repo_user
powercenter.repo.password.1=${PC_REPO_PASSWORD}
# ===== pmrep (automated export) =====
powercenter.pmrep.location.1=C:\\PowerCenter86\\server\\bin
powercenter.command.1=cmd.exe
powercenter.terminate.command.1=/C
powercenter.script.1=dagrun86.bat
powercenter.user.security.domain.1=DomainName
powercenter.delete.extract.file.1=Yes
powercenter.file.extract.1=Yes
powercenter.file.url.1=C:\\PowerCenter86\\exports\\Project1.xml
# ===== Folders/Workflows =====
# If connect.to.db=no, set explicit folder names (no wildcards)
powercenter.folder.name.1=Project1,Fin*
powercenter.exclude.string.1=/,DAG
powercenter.exclude.workflows.1=folder*,w_*;*,w_s*
# powercenter.exclude.workflows.file.1=E:\\apps\\resources\\PowerCenter\\demo102\\wlist.csv
# powercenter.include.workflows.1=EDW_VER2,wf_EDW_ver2
# ===== Parameters =====
powercenter.parse.params.1=Yes
powercenter.parse.param.data.from.1=db_and_file
powercenter.param.folder.names.1=C:\\Parameter_files\\prod\\Parameters\\
powercenter.param.include.files.1=*.prm
powercenter.param.exclude.files.1=*_old.prm
powercenter.param.use.param.file.name.1=No
powercenter.parameter.db.type.1=oracle
powercenter.parameter.db.hibernate.connection.url.1=jdbc:oracle:thin:@atlas:1521:atlas
powercenter.parameter.db.username.1=powercenter_param_db_user
powercenter.parameter.db.password.1=${PC_PARAM_DB_PASSWORD}
powercenter.parse.parameter.sql.1=SELECT GLOBAL_STR, FOLDER_NAME, WORKFLOW_NAME, null as WORKLET_NAME, null as SESSION_NAME, null as MAPPLET_NAME, PARAMETER_NAME, PARAMETER_VALUE FROM PARAMS
# ===== Domain (optional) =====
powercenter.read.domain.info.1=Yes
powercenter.extract.domain.info.from.db.1=Yes
powercenter.domain.db.type.1=oracle
powercenter.domain.hibernate.connection.url.1=jdbc:oracle:thin:@atlas:1521:atlas
powercenter.domain.db.username.1=powercenter_domain_db_user
powercenter.domain.db.password.1=${PC_DOMAIN_DB_PASSWORD}
# powercenter.domain.xml.1=C:\\Parameter_files\\prod\\domain_cvs.xml
# ===== Output & strategy =====
snapshot.output.1=metacenter.jcr#Snapshots/<metacenter-instance-id>/PowerCenter/<prefix><repositoryname>
snapshot.filtering.mode.1=multiplewithexclude
environment.name.1=DW_production
# ===== Optional tuning =====
powercenter.ignore.lkp.fields.for.data.flow.1=Yes
powercenter.calculate.expression.summary.1=Yes
powercenter.filter.on.isenabled.isvalid.1=Yes
powercenter.replace.segment.with.fields.1=Yes
powercenter.replace.segment.name.1=Data_Segment,NK_Segment
powercenter.replace.segment.ignore.fields.1=Source_System_Code
Operating Notes
- Automated export (recommended): the connector runs
pmrep connect
followed bypmrep objectexport
for each target folder, writing XML files topowercenter.file.url.1.
- Manual export: admins can export
<Folder>.xml
and place them in the landing directory; setpowercenter.file.extract.1=No
. - Case sensitivity: folder/workflow filters are case-sensitive. Wildcards: ? (single char), * (multi), escape with .
- SQL Server Windows Auth: use IntegratedSecurity=true in the JDBC URL and leave DB username/password blank.
- Multiple domain configurations (
domains.infa
) Thedomains.infa
file can define multiple domain gateways. This allows pmrep to connect to different PowerCenter domains from the same snapshot host. Example:<Portals xmlns:common="http://www.informatica.com/pcsf/common" xmlns:usermanagement="http://www.informatica.com/pcsf/usermanagement" xmlns:domainservice="http://www.informatica.com/pcsf/domainservice" xmlns:logservice="http://www.informatica.com/pcsf/logservice" xmlns:domainbackup="http://www.informatica.com/pcsf/domainbackup" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:metadata="http://www.informatica.com/pcsf/metadata" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:domainconfigservice="http://www.informatica.com/pcsf/domainconfigservice" xmlns:alertservice="http://www.informatica.com/pcsf/alertservice" xmlns:licenseusage="http://www.informatica.com/pcsf/licenseusage" xmlns:webserviceshub="http://www.informatica.com/pcsf/webserviceshub" xsi:type="common:PCSFVector" objVersion="1.1.18"> <vector xsi:type="domainservice:Portals" objVersion="1.1.18"> <domainName>Domain_vm-pwrctr-86</domainName> <address xsi:type="metadata:NodeRef" objVersion="1.1.18"> <host>vm-pwrctr-86</host> <port>6001</port> </address> </vector> <vector xsi:type="domainservice:Portals" objVersion="1.1.19"> <domainName>Domain_vm-pwrctr-86-sq</domainName> <address xsi:type="metadata:NodeRef" objVersion="1.1.19"> <host>vm-pwrctr-86-sq</host> <port>6001</port> </address> </vector> </Portals>
Troubleshooting
- pmrep cannot connect (domain not found)
- Ensure domains.infa exists in the pmrep root and includes the target domain name, host, and port.
- For LDAP, include the security domain (powercenter.user.security.domain.1).
- XML exports are invalid / parse errors
- Known Informatica issues: reserved characters (for example, & in folder descriptions) and non-Unicode characters in transformation names. Fix by editing the XML to escape/clean characters, or correct in PowerCenter and re-export.
- Security/permission errors
- Repository user must have Use/Access Repository Manager.
- DB users must have SELECT on the listed tables/schemas.
Updated about 4 hours ago