我在不同的主机上有相同的存储过程,如下所示:
Host1 -> sqlserveristance--> master(db) ---> sp_name
Host2 -> sqlserveristance--> master(db) ---> sp_name
....
对于每个存储过程,执行时间很长,这就是我想要同时执行而不是按顺序执行的原因。主机名存储在一个文件中,我设置的每个环境变量都用在数据库连接参数中。
这正是我的工作:
Job1 Trasformation1.1 --read file and copy rows to result
Job2 ( checked "execute for every input row")
Trasformation2.1 --get rows from result and set variables Hostname
Trasformation2.2 -- use ${HostName} to execute sql script
但似乎每个SQL脚本都是按顺序运行的。
答案 0 :(得分:0)
如果要使用不同的参数并行执行相同的转换,则可以使用Transformation executor
步。
要指定并行线程数,可以右键单击该步骤,然后选择Change number of Copies to start
选项。请记住将上一步的data movement
选项设置为round-robin
(而不是 ),以便上一步将输出行分配到转型执行者。copy data
您可以将上一步的输出列映射到Parameters
标签上的子转换参数。
建议的工作流程:
<Main.ktr>:
[Text file input] Read connection details
|| data movement: round-robin
||
\/
[Transformation executor] (x2 copies, pass HostName column as a parameter)
<sub-transformation.ktr>:
[Execute SQL script] (use ${HostName} to execute sql script)