Informatica问题 - 参数文件

时间:2012-02-15 13:38:27

标签: informatica-powercenter informatica

我的来源是dat文件。在设计师中,我可以从本地导入文件。但后来它会进入共享位置而Informatica需要从那里选择它。我想,为此,我需要在Workflow Manager中的会话级别放置参数值'Source file Directory'='$ PMSourceFileDir \'。现在这个参数文件位于何处?如何编辑它以便我也可以输入参数值。 Informatica安装在我的本地,但我连接到远程存储库。有没有其他方法可以让Informatica从远程位置选择此dat文件。请帮忙。

4 个答案:

答案 0 :(得分:3)

$ PMSourceFileDir通常设置为Informatica服务器初始化的一部分,因为它是服务器变量。如果要为工作流覆盖它,可以在参数文件中执行此操作。

在工作流程监视器中,转到工作流程设计器选项卡,打开工作流程。

转到Workflow > Edit > Properties > Parameter file Name.

答案 1 :(得分:1)

在将工作流加载为当前工作流的工作流设计器中,选择“工作流...编辑...属性”选项卡,然后查看属性'参数文件名'的值。这将显示工作流程正在使用的参数文件的位置和名称。例如,在该文件中,您可以更改PM *变量的可解析值。请记住,对于每个会话,您可以为源文件等内容指定不同的PM *值,但请记住,许多企业遵循层次结构标准,每个工作流的源和目标目录都有自己指定的源和目标目录,因此当开发人员在Sessions中设置它们时,它通常遵循以下形式:$ PMSourceFileDir / {workflow_specific_folder_name}。遵循该标准,或者如果你不能或如果它不适合,不要让它阻止你;在指示源文件目录时,只为该会话使用不同的$ {var_name}。如果您想避免将此类更改硬编码到工作流本身中,则可以使用.parm文件。在.parm文件中输入更改PM *值的示例:

---TOP OF FILE---
[Service:{Name}]
$PMSessionLogDir=/{path}/SessLogs/
$PMBadFileDir=/{path}/BadFiles/
$PMWorkflowLogDir=/{path}/WorkflowLogs/
$PMTargetFileDir=/{path}/TgtFiles/
$PMSourceFileDir=/{path}/SrcFiles/
# Above are just example names of directories
...
# Example of specific session that has variables set for it herein
[~{Project_folder_name}.WF:{Workflow_name}:{session_name}]
$$Repository_Name={repo_name}
$$Folder_Name={Project_folder_name}
$$Workflow_Name={wkf_name}
$DBConnection_Reusable_Comp_source={source_name}
$DBConnection_Repo={Repo_conn_name}
$$DBConnection_Reusable_Comp_source={Comp_source_name}
$$DBConnection_Repo={Conn_repo}
$PMSessionLogFile={Log_file_name}
$PMSourceFileDir_{session_name}={custom_source_file_dir}

... {etc.} ...

--- BOTTOM OF FILE ---

除了最后的条目之外的所有条目都是公司标准类型的东西的例子;您的企业可能会有不同类型的东西。但最后一个条目是指定自定义$ PM *值的示例;在这种情况下,$ PMSourceFileDir_ {session_name}其中{session_name}当然是您想要自定义源文件夹的会话的名称。在您工作流程中的相关会话中,您需要指出:

$PMSourceFileDir_{session_name}

将{session_name}替换为会话的实际名称。然后在源目录属性中,如果您使用了该变量,则将其解析为您在.parm文件中为其指定的自定义目录位置。

答案 2 :(得分:0)

我不相信你需要一个参数文件。参数文件用于根据文件内容更改Informatica的行为,允许您通过编辑文件而不是编辑Informatica代码来更改行为。

当Informatica读取源文件时,它始终来自本地计算机,因此更改$ PMSourceFileDir的值或更改“源文件目录”的值只会更改本地计算机上查找文件的位置。< / p>

您有几个选择: *首先将文件复制到Informatica主机。 *使用S / FTP连接并从任何位置读取文件,假设该位置正在运行FTP服务器或SSH。 *使用NFS安装或SSHFS。

答案 3 :(得分:0)

您也可以将参数文件放在

右键单击会话&gt;编辑&gt;属性&gt;参数文件名

这将覆盖工作流属性中指定的参数文件位置。

我认为 '源文件目录' 只能向本地服务器发送,如果您希望在某个远程服务器上创建目标,则需要创建帖子-session脚本,在工作流成功执行后,将文件从本地服务器scp / ssh到远程服务器。