Talend:将 db_connection 参数设置为变量

Talend: set db_connection parameters as variables

我正在将表从旧数据库迁移到新数据库(我使用的是 PostgreSQL)。

我的目标是;导出作业后,我想提示用户在要执行作业时输入数据库连接详细信息(主机、端口、数据库名称等)。

我确实喜欢以下内容,但没有用;

上下文变量:

数据库连接设置:

示例作业:

输入组件详细信息:

引发以下异常:

 org.postgresql.util.PSQLException: FATAL: database "context_db.db_name"      does not exist

你的工作有 2 个问题:

您需要通过添加前缀 context 来引用您的 db_name 变量,如下所示:context.db_name(而不是 context_db.db_name)。

因为您在创建连接之前定义了上下文组,键入 context.db_name 因为您的数据库会将其解释为字符串文字(而不是上下文变量),这就是为什么您得到一个错误,因为它正在查找名称为 "context_db.db_name" 的数据库,该数据库不存在。为了引用现有的上下文变量,请在连接 window 时单击 "Export as context",然后单击 select "Reuse an existing repository context" :

接下来选择您的上下文组,并将每个连接参数映射到下拉列表中的现有上下文变量。完成后,您会看到您的连接正在使用上下文变量 context.db_name 作为其数据库名称。

为了提示用户输入值,您需要激活变量旁边的复选框(Activate prompt on variable),您已经完成了。