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),您已经完成了。
我正在将表从旧数据库迁移到新数据库(我使用的是 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),您已经完成了。