将数据库连接parameter passing给Kettle aka PDI表从Excel中dynamicinput步骤
我有一个要求,每当我运行我的Kettle作业时,数据库连接参数必须在每次运行时从一个Excel源中dynamic获取。
说我有一个excel列名称:主机名,用户名,数据库,密码。
我想要传递这些连接参数到我的表input步骤dynamic,每当作业运行。
这正是我想要做的。
你可以通过
- 从源读取数据库连接参数(例如Excel或在我的示例中为CSV文件)
- 将参数存储在variables中
- 在连接设置中使用variables。
继续如下
- 为设置variables创build另一个转换(不能在使用它的相同转换中执行此操作):
在Set Variables元素中configurationvariables:
- 在元素读/写你的数据创build一个新的连接,并使用
${variable_name}
设置连接参数。 请注意,您必须盲目地将${password}
写入相应的字段。 另外请注意,这可能是一个安全问题,因为该值可能在日志文件中显示为纯文本!
- 在你的工作中首先调用variables转换,然后调用function部分:
所有你需要的是XLSinput和Set Variables步骤。 将根variables定义为在根作业中有效,并且可以在后续作业中使用它们,只要在定义连接时由相同的根作业调用它们即可。
“将结果复制到行”和“从结果获取行”用于将信息(数据行)从一个转换发送到同一个父作业中的下一个转换或作业。 他们不习惯在步骤之间发送数据,这就是跳转的目的。