Datastage - 使用odbc连接器运行用户定义的sql查询文件

时间:2015-03-11 20:49:38

标签: sql-server etl datastage

使用DataStage,我必须读取一个包含一个sql语句的顺序文件,运行该sql语句并将结果输出到顺序文件中。

这是我尝试过的: 使用Oracle连接器,我只需将选项设置为"从文件"中读取选定语句,我输入包含SQL stmt的文件的位置,然后我设置"运行时列传播&#34 ;最后创建了一个输出顺序文件。这非常有效,具有select stmt数据结果的输出文件已正确创建。

但是现在,规格已经改变,它不再是我需要的oracle连接器,而是一个ODBC连接器,它没有方便的" Read Selected语句来自File"选项。

我正在考虑做以下事情:

  • 使用顺序文件阶段读取文件内容
  • 将文件内容移动到变量
  • 将变量传递给ODBC连接器
  • ODBC连接器将读取变量并运行它
  • 将数据传递给顺序文件。

我遇到问题的部分是第1部分到第4部分。我几乎是数据广播的初学者,如果有人能为我提供指导,我将不胜感激。

1 个答案:

答案 0 :(得分:1)

ODBC连接器可以选择从文件中读取select语句。 您使用的是什么版本的Datastage?

另一种解决方法(我认为这不是最好的做法)是将查询放在参数Set中,然后在Datastage作业中调用此参数集。

你是怎么做到的。

  1. 使用一个字符串变量声明参数Set(比如PS1) 查询
  2. 现在您需要登录LINUX框(并转到参数集的位置它看起来像是 的/ opt / IBM / InformationServer /服务器/项目// ParameterSets / PS1&GT)
  3. 使用您的查询创建一个文本文件。 (我们称之为ValueFile)
  4. 现在你在ODBC连接器上 - 你有查询 - 插入参数集变量(PS1.query)
  5. 在运行时,您可以选择值文件。
  6. 我知道它有点棘手,但应该工作正常。

    Ashish