使用上下文组连接 Talend 到数据库

在本节中,我们将通过一种实际的方法展示如何使用上下文组将 Talend 连接到数据库。使用上下文组连接 Talend 到数据库是最佳方法。因为一旦您的项目上线生产,您就需要更改这些 Talend 上下文变量以连接到生产数据库。

在开始连接 Talend 到数据库之前,我将向您展示可用的上下文组列表(左侧“上下文”下的三个组)。请参考 创建上下文组 文章来理解上下文组。

使用上下文组连接 Talend 到数据库/数据库

请将调色板中的 Talend tDBConnection 组件拖放到作业设计中。在 tDBConnection 组件选项卡中,请选择 Microsoft SQL Server 作为数据库类型,然后单击“应用”按钮。

Choose the Microsoft SQL Server

接下来,将 SQLTEST_Con 上下文组从存储库拖放到“上下文”选项卡。从下面的 Talend 截图可以看出,该全局上下文组中的所有值。

Connect Talend to DB using Context Group 4

请转到组件选项卡,填写所有详细信息以建立与 SQL 数据库的连接。要进行连接,请使用 Talend 上下文组变量填写主机、SQL Server 数据库、用户名、数据库密码和架构值。要访问每个上下文变量,您需要使用 context.variable_name 或键入 context. 并按 Ctrl+Space。它将显示所有可用的上下文变量。

Connect Talend to DB using Context Group 5

接下来,将 tDBClose、tDBInput 和 tLogRow 组件从调色板拖放到作业设计中。右键单击 tDBConnections,选择“触发器”,然后选择“On Subjob Ok”,并将其连接到 tDBInput。这意味着一旦与 SQL Server 建立连接,它将进入下一个子作业。

Trigger on Subject OK

在连接 DBConnections 和 tDBInput 之前,您需要指定您正在使用的服务器。我的意思是,我们还没有选择特定于数据库的 tDBInput,所以我们首先必须选择数据库类型。

您可以看到从下面的截图,我们已经为 tDBInput1 将数据库选择了 Microsoft SQL Server。接下来,勾选“使用现有连接”选项。然后,在 tDBConnection 字段中选择我们创建的 tDBConnection_1 作为组件列表。

接下来,将 Talend Schema 从“内置”更改为“存储库”,然后单击“浏览”按钮来选择 Schema 或表。单击浏览按钮将打开以下窗口,我们选择 Department 表。

Connect Talend to DB using Context Group 9

通常,它会为选定的表生成查询。如果没有,请单击“猜测查询”按钮。

接下来,将 tDBInput 的主行与 tLogRow 以表模式连接。请转到 tDBClose 组件选项卡,选择 Microsoft SQL Server 作为数据库,然后从组件列表中选择现有的连接名称。

通常,我们使用 tDBCommit 组件,它具有与关闭连接选项相同的属性。tDBCommit 用于提交数据库中的更改,而我们这里只是从表中读取记录或行。所以,tDBClose 将完成工作,它也有助于我们引入一个新字段。

Connect Talend to DB using Context Group 12

右键单击 tDBConnections,选择“触发器”,然后选择“On Subjob Ok”,并将其连接到 tDBInput。接下来,右键单击 tDBInput,选择“触发器”,然后选择“On Subjob Ok”,并将其连接到 tDBClose 或 tDBCommit。

让我运行这个使用上下文组连接 Talend 到数据库/数据库的作业,看看结果。哦!我们收到一个错误,说服务器主机名是“SQLTEST”。主机名是指服务器名称,即 Prasad,而 SQLTEST 是数据库名称。我认为我在为 tDBConnection 组件分配上下文变量时犯了一个错误。

从下面的截图可以看到,我们已经修复了所有问题。

Connect Talend to DB using Context Group 15

现在您可以看到 Department 表中的记录。

Connect Talend to DB using Context Group 16