0

我有一个表,其中包含一个包含选择 sql 的“查询”字段和另一个包含 sql 参数的“参数”字段。我已将这两个字段合并为一个包含正确 select sql 语句的新字段。现在我需要执行这个包含 select sql 的新字段,从 select (输出字段)中获取返回并生成一个 excel 文件。

4

1 回答 1

1

如果您对查询结果集感兴趣,请使用表格输入。Table-Input 支持 SQL 参数,因此无需使用 Replace-In-String 等自行构建语句,也无需在途中遇到转义。此外,还有变量替换,以防万一您不能使用单个模板。

格林威治标准时间 21:14 更新

我不太喜欢您尝试准备 SELECT 语句的方式,但是我们开始吧,假设它是我们拥有的单个语句:

创建一个包含一个开始条目和 2 个转换条目(T1、T2)的作业。让 T1 生成包含您的 SELECT 语句的字段,并使用 Set-Variables 步骤使该语句可作为变量 SELECT 用于 T2。在 T2 中,在 SQL 语句文本区域中使用引用 ${SELECT} 的表输入步骤。不要忘记启用选项“替换脚本中的变量”。

从现在开始,这是一个品味问题。我更喜欢使用 Text-File-Output 创建一个 CSV 文件。使用右侧字段分隔符 Excel 将在双击后打开文件。Text-File-Output 的优点是您不必在设计时指定您不知道的字段。一个空的字段列表将只处理所有传入的字段。与 Table-Input 中的总投影相当,它将从下游检索到的列中创建必要的字段。

如果必须制作 Excel 工作簿,则必须了解元数据注入。不过,对于初学者来说,这将是一个单独的项目。您的 Kettle 安装文件夹中有示例。如果您发现自己遇到麻烦,这里有一个非常活跃的社区。

于 2017-01-31T15:33:10.187 回答