Pentaho Spoon:从txt文件加载SQL代码并运行它

时间:2017-08-24 13:11:31

标签: sql svn pentaho pentaho-spoon

我正在使用Execute SQL Script组件将SQL代码发送到要执行的MSSQL。

但我宁愿在txt文件中保存SQL代码,以便Subversion可以控制它们的更改。

这些文件将存储在同一级别的ktr文件中的sql中。我想要一些与Execute SQL Script相关的组件来读取.sql文件,获取其内容并将其发送到MSSQL。如果我可以在sql文件上提供连接字符串,或者至少将其设置为ktr参数,那将是非常棒的。

在最不可能的情况下,我需要一个组件来读取sql文件,将其存储在一个字符串变量中,并将其传递给另一个接收该变量并发送它的组件。

能够替换SQL代码上的变量也很棒。

很抱歉这样的菜鸟,我正在努力学习Spoon和我以前缺少的功能。

2 个答案:

答案 0 :(得分:1)

您可以修改以下提案:

enter image description here

  1. 第一步是读取文件。

    • file标签上,将文件目录设为$ {Internal.Transformation.Filename.Directory}(不要输入,按Ctrl-空格键),然后放在Wildcard put {{ 1}}获取所有以" .sql"结尾的文件。使用.*\.sql按钮调整正则表达式和下一个选项卡以获得所需的所有文件。
  2. 第二步执行脚本。

    • 使用下拉菜单告诉水壶使用SQL字段中的文件名

    • 然后选中该框以告诉它是文件名。

  3. 无法动态设置连接。这是因为kettle使用准备好的JDBC语句来管理并行线程。如果您没有太多连接,则可以使用Show filenames步骤,该步骤通过适当的连接发送到Switch/Case的副本。

答案 1 :(得分:0)

我相信你想在内存中加载文件内容Step。您的字段名称和元素将是"文件内容"。从那里你可以"设置变量"或者喂养该领域"文件内容" (您的SQL)直接到表输入步骤。