2016-03-02 103 views
1

Hello Datastage开发人员, 我对这个工具很新颖。我正在尝试开发与Oracle阶段并行的工作。我需要在运行时填充数据库参数。我看到有一些为我们的项目设计的作业,它们从位于ETL服务器上的文件中获取这些参数(数据库名称,用户ID,密码,模式)。我无法找到工作如何击中该文件并获取值。我希望我明确提出这个问题。你能指导我一步一步如何从文件中获取参数吗?来自datastage服务器上的文件的作业参数

+0

你使用参数集?如果是这样,你会看到参数引用在ORACLE阶段的形式像##(comapred到常规参数##。 – MichaelTiefenbacher

+0

不,没有参数集定义。我只看到#parametername #在oracle阶段,如果你能帮我找到一种方法从服务器上的文件中读取参数,那很好,谢谢你的帮助。 –

回答

1

当使用基于文件的参数集时,参数集会在作业开始时获取文件的内容。这提供了极好的灵活性,因为长时间的工作可能会操纵参数集文件,并为后续作业留下新的参数。关键是参数不会编译到作业或参数集中。以下步骤详细介绍了基于文件的参数集的创建和使用。

  1. 文件>新建>其它>参数设置
  2. 在常规选项卡名称的参数集。

(字母数字和下划线字符只有没有空格。)

例如:my_file_parm_set

  • 在参数标签创建参数和默认值

  • 在Values选项卡中,将文件的名称放在“Value File Name”列中。

  • 仅指定文件名。没有路径组件 使用字母数字字符等没有空格。

    例如:parm_file.txt

    在同一行,在参数选项卡定义的每个参数列表值。该表应如下所示:

    1. 单击确定并保存参数集。

    2. 此时的参数设定文件应该已经使用以下系统创建:

    项目/ ParameterSets //

    在我们的例子中的文件名应该是:InformationServer \服务器\项目\ foo2的\ ParameterSets \ my_file_parm_set \ parm_file。TXT

  • 该文件的内容是这样的:

    • 富= foo的parm文件值
    • 巴=棒材
    • parm文件值
  • 在作业中,导航到编辑>作业属性,然后选择参数选项卡。

  • 单击添加参数设置,并选择新创建的参数设置:

    ===============创建序列作业======== ===================

    1. 创建一个新序列并为其添加一个作业活动阶段。双击舞台编辑其属性,然后单击按钮选择作业名称。加载作业后,它的参数将在“作业活动”屏幕的“参数”部分中显示。新的参数集应该在列表中。单击值表达式列中的下拉选择器并选择参数文件:

    单击确定并保存序列。

  • 现在每个序列运行时,参数被从在运行时文件中读取,并传递到作业。序列中的任何前面的作业都可以更改文件以动态修改参数。
  • 相关问题