如何使 ibm 数据阶段从源读取特定的作业参数值

How to make ibm data stage read specific job parameter value from source

我正在尝试将输入到我的数据源的文件名捕获到 table 列 source_file,我为文件名创建了一个作业参数 sales*;我用文件 sales.xlsxsales_copy.xlsx.

测试了它

成功执行输入数据库中除source_file列外的数据,应该是sales.xlsxsales_copy.xlsx。但是数据库读取的是 sales* 因为在 source_file 列的映射推导中我将其设置为 source_param 其值为 sales*.

如何让它专门读取文件名 sales.xlsxsales_copy.xlsx 而不是 sales*

不清楚您要在哪里尝试执行此操作,以及您要完成什么。首先,“sales*”不是作业参数的有效名称。假设有一个名为 jpFileName 的作业参数。 要在作业中引用此参数,您需要一个引用;即用“#”字符包围的参数名称,例如#jpFileName#。您将在输出列 source_file 的推导中使用此引用;我强烈建议您使用表达式编辑器来 select 参数引用。 当作业为 运行 时,值“sales.xlsx”作为参数值提供在一个 运行 上,值“sales_copy.xlsx”作为参数值提供在另一个 运行.

当您将参数值定义为 'Sales*.xls' 时,我认为它不会将参数值中的名称作为列它可以在顺序文件中作为文件名,也可以作为参数传递)。
你能做的是

  1. 定义并行作业,在顺序文件阶段(导入数据的地方)将文件名列定义为列名,文件名必须由参数定义。
  2. 创建一个顺序文件,在循环中调用上述并行作业,将所有文件名作为文件名参数的循环计数器传递(循环适用于字符串和数值)。