我正在使用Execute SQL Script组件将SQL代码发送到要执行的MSSQL。
但我宁愿在txt文件中保存SQL代码,以便Subversion可以控制它们的更改。
这些文件将存储在同一级别的ktr文件中的sql
中。我想要一些与Execute SQL Script相关的组件来读取.sql文件,获取其内容并将其发送到MSSQL。如果我可以在sql文件上提供连接字符串,或者至少将其设置为ktr参数,那将是非常棒的。
在最不可能的情况下,我需要一个组件来读取sql文件,将其存储在一个字符串变量中,并将其传递给另一个接收该变量并发送它的组件。
能够替换SQL代码上的变量也很棒。
很抱歉这样的菜鸟,我正在努力学习Spoon和我以前缺少的功能。
答案 0 :(得分:1)
您可以修改以下提案:
第一步是读取文件。
file
标签上,将文件目录设为$ {Internal.Transformation.Filename.Directory}(不要输入,按Ctrl-空格键),然后放在Wildcard
put {{ 1}}获取所有以" .sql"结尾的文件。使用.*\.sql
按钮调整正则表达式和下一个选项卡以获得所需的所有文件。 第二步执行脚本。
使用下拉菜单告诉水壶使用SQL字段中的文件名
然后选中该框以告诉它是文件名。
无法动态设置连接。这是因为kettle使用准备好的JDBC语句来管理并行线程。如果您没有太多连接,则可以使用Show filenames
步骤,该步骤通过适当的连接发送到Switch/Case
的副本。
答案 1 :(得分:0)
我相信你想在内存中加载文件内容Step。您的字段名称和元素将是"文件内容"。从那里你可以"设置变量"或者喂养该领域"文件内容" (您的SQL)直接到表输入步骤。