tMSSqlSP - 6.1

Talend Components Reference Guide

EnrichVersion
6.1
EnrichProdName
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Open Studio for Big Data
Talend Open Studio for Data Integration
Talend Open Studio for Data Quality
Talend Open Studio for ESB
Talend Open Studio for MDM
Talend Real-Time Big Data Platform
task
Data Governance
Data Quality and Preparation
Design and Development
EnrichPlatform
Talend Studio

tMSSqlSP Properties

Component family

Databases/MSSql

 

Function

tMSSqlSP calls the database stored procedure.

Purpose

tMSSqlSP offers a convenient way to centralize multiple or complex queries in a database and call them easily.

Basic settings

Property type

Either Built-in or Repository.

Since version 5.6, both the Built-In mode and the Repository mode are available in any of the Talend solutions.

 

 

Built-in: No property data stored centrally.

 

 

Repository: Select the repository file in which the properties are stored. The fields that follow are completed automatically using the data retrieved.

 

Use an existing connection

Select this check box and in the Component List click the relevant connection component to reuse the connection details you already defined.

Note

When a Job contains the parent Job and the child Job, if you need to share an existing connection between the two levels, for example, to share the connection created by the parent Job with the child Job, you have to:

  1. In the parent level, register the database connection to be shared in the Basic settings view of the connection component which creates that very database connection.

  2. In the child level, use a dedicated connection component to read that registered database connection.

For an example about how to share a database connection across Job levels, see Talend Studio User Guide.

 

Host

Database server IP address

 

Port

Listening port number of DB server.

 

Database

Name of the database.

 

Schema

Name of the schema.

 

Username and Password

DB user authentication data.

To enter the password, click the [...] button next to the password field, and then in the pop-up dialog box enter the password between double quotes and click OK to save the settings.

 

Schema and Edit Schema

In SP principle, the schema is an input parameter.

A schema is a row description. It defines the number of fields (columns) to be processed and passed on to the next component. The schema is either Built-In or stored remotely in the Repository.

Since version 5.6, both the Built-In mode and the Repository mode are available in any of the Talend solutions.

 

 

Built-In: You create and store the schema locally for this component only. Related topic: see Talend Studio User Guide.

 

 

Repository: You have already created the schema and stored it in the Repository. You can reuse it in various projects and Job designs. Related topic: see Talend Studio User Guide.

  

Click Edit schema to make changes to the schema. If the current schema is of the Repository type, three options are available:

  • View schema: choose this option to view the schema only.

  • Change to built-in property: choose this option to change the schema to Built-in for local changes.

  • Update repository connection: choose this option to change the schema stored in the repository and decide whether to propagate the changes to all the Jobs upon completion. If you just want to propagate the changes to the current Job, you can select No upon completion and choose this schema metadata again in the [Repository Content] window.

 

SP Name

Type in the exact name of the Stored Procedure

 

Is Function / Return result in

Select this check box, if only a value is to be returned.

Select on the list the schema column, the value to be returned is based on.

 

Parameters

Click the Plus button and select the various Schema Columns that will be required by the procedures. Note that the SP schema can hold more columns than there are paramaters used in the procedure.

Select the Type of parameter:

IN: Input parameter

OUT: Output parameter/return value

IN OUT: Input parameters is to be returned as value, likely after modification through the procedure (function).

RECORDSET: Input parameters is to be returned as a set of values, rather than single value.

Note

Check Scenario 1: Inserting data in mother/daughter tables, if you want to analyze a set of records from a da­tabase table or DB query and return single records.

 

Specify a data source alias

Select this check box and specify the alias of a data source created on the Talend Runtime side to use the shared connection pool defined in the data source configuration. This option works only when you deploy and run your Job in Talend Runtime.

This check box is not available when the Use an existing connection check box is selected.

 

Data source alias

Enter the alias of the data source created on the Talend Runtime side.

This field is available only when the Specify a data source alias check box is selected.

Advanced settings

Additional JDBC parameters

Specify additional connection properties for the DB connection you are creating. This option is not available if you have selected the Use an existing connection check box in the Basic settings.

 

tStatCatcher Statistics

Select this check box to collect log data at the component level.

Dynamic settings

Click the [+] button to add a row in the table and fill the Code field with a context variable to choose your database connection dynamically from multiple connections planned in your Job. This feature is useful when you need to access database tables having the same data structure but in different databases, especially when you are working in an environment where you cannot change your Job settings, for example, when your Job has to be deployed and executed independent of Talend Studio.

The Dynamic settings table is available only when the Use an existing connection check box is selected in the Basic settings view. Once a dynamic parameter is defined, the Component List box in the Basic settings view becomes unusable.

For examples on using dynamic parameters, see Scenario 3: Reading data from MySQL databases through context-based dynamic connections and Scenario: Reading data from different MySQL databases using dynamically loaded connection parameters. For more information on Dynamic settings and context variables, see Talend Studio User Guide.

Usage

This component is used as intermediary component. It can be used as start component but only input parameters are thus allowed.

Limitation

The Stored Procedures syntax should match the Database syntax.

Due to license incompatibility, one or more JARs required to use this component are not provided. You can install the missing JARs for this particular component by clicking the Install button on the Component tab view. You can also find out and add all missing JARs easily on the Modules tab in the Integration perspective of your studio. For details, see https://help.talend.com/display/KB/How+to+install+external+modules+in+the+Talend+products or the section describing how to configure the Studio in the Talend Installation Guide.

Scenario: Retrieving personal information using a stored procedure

This scenario describes a Job that retrieves a personal information record from a specified table using a stored procedure according to the id value defined in the input flow.

In this scenario, the table to retrieve data from contains the personal information. To reproduce this scenario, you can write the data into the table from a CSV file like the following. For how to write data into a MS SQL table, see Scenario: Inserting data into a database table and extracting useful information from it.

id;name;sex;age
1;Ford;Male;25
2;Rose;Female;30
3;Sabrina;Female;28
4;Teddy;Male;32
5;Kate;Male;35

In this scenario, the stored procedure used to retrieve the personal information is as follows:

CREATE PROCEDURE [dbo].[QueryPerson]
@id int,
@name varchar(50)
AS
BEGIN
SET NOCOUNT ON
SELECT * FROM dbo.person where id=@id
END

Dropping and linking the components

  1. Create a new Job and add the following components by typing their names in the design workspace or dropping them from the Palette: a tFixedFlowInput component, a tMSSqlSP component, a tParseRecordSet component, and two tLogRow components.

  2. Connect tFixedFlowInput to tMSSqlSP using a Row > Main link.

  3. Do the same to connect tMSSqlSP to the first tLogRow, the first tLogRow to tParseRecordSet, and tParseRecordSet to the second tLogRow.

Configuring the components

Configuring the input component

  1. Double-click tFixedFlowInput to open its Basic settings view.

  2. Click the [...] button next to Edit schema to open the schema editor.

    Click the [+] button to add two columns: id of the integer type and name of the string type.

    Click OK to close the schema editor.

  3. In the Mode area, fill each column with respective value. In this example, the id value is set to 4, and the name value is null since it is not used in the select SQL statement in the stored procedure.

Configuring the tMSSqlSP component

  1. Double-click tMSSqlSP to open its Basic settings view.

  2. Fill in the Host, Port, Schema, Database, Username, and Password fields with your MS SQL Server connection details.

  3. In the SP Name field, enter the name of the stored procedure to be used. In this example, it is QueryPerson.

  4. Click the [...] button next to Edit schema to open the schema editor.

    Click the button to copy all columns from the input schema to the output schema, and then click the [+] button in the right panel to add a new column person of the object type to hold the personal information to be retrieved from the database.

    Click OK to close the schema editor and accept the propagation prompted by the pop-up dialog box.

  5. In the Parameters area, click the [+] button to add three rows and select a schema column and its type for each row. In this example, the id and name columns are of type IN, and the person column is of type RECORD SET.

Configuring the tParseRecordSet component

  1. Double-click tParseRecordSet to open its Basic settings view.

  2. From the Prev. Comp. Column list drop-down list, select the column that holds the personal information to be parsed. In this example, it is person.

  3. Click the [...] button next to Edit schema to open the schema editor.

    Click the [+] button in the right panel to add four columns: id and age of the integer type, and name and sex of the string type.

    Click OK to close the schema editor and accept the propagation prompted by the pop-up dialog box.

  4. In the Attribute table area, fill in each Value column with the corresponding column name in the MS SQL Server table that holds the personal information.

Configuring the output components

  1. Double-click the first tLogRow to open its Basic settings view.

    In the Mode area, select Vertical (each row is a key/value list) for a better display of the result.

  2. Do the same to configure the second tLogRow.

Saving and executing the Job

  1. Press Ctrl + S to save the Job.

  2. Press F6 to run the Job.

    The personal information with the id of 4 in the MS SQL table is displayed in the lower table on the console. Note that the values of the id and name columns shown in the upper table are the input data.

Related scenarios

For related scenarios, see:

Check as well Scenario 1: Inserting data in mother/daughter tables to analyze a set of records from a database table or DB query and return single records.