July 30, 2023

tMysqlColumnList – Docs for ESB 7.x

tMysqlColumnList

Iterates on all columns of a given Mysql table and lists column
names.

tMysqlColumnList Standard properties

These properties are used to configure tMysqlColumnList running in the Standard Job framework.

The Standard
tMysqlColumnList component belongs to the Databases family.

The component in this framework is available in all Talend
products
.

Note: This component is a specific version of a dynamic database
connector. The properties related to database settings vary depending on your database
type selection. For more information about dynamic database connectors, see Dynamic database components.

Basic settings

Database

Select a type of database from the list and click
Apply.

Component list

Select the tMysqlConnection
component in the list if more than one connection are planned for
the current job.

Table name

Enter the name of the table.

Advanced settings

tStatCatcher Statistics

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

Global Variables

Global Variables 

COLUMN_NAME: the name of the column currently iterated
upon. This is a Flow variable and it returns a string.

DATA_TYPE: the data type of the column currently iterated
upon. This is a Flow variable and it returns a string.

COLUMN_DEFAULT: the default value of the column currently
iterated upon. This is a Flow variable and it returns a string.

IS_NULLABLE: nullability of the column currently
uiterated upon. This is a Flow variable and it returns YES if the column allows NULL;
otherwise, NO.

COLUMN_KEY: the key indicator of the column currently
iterated upon. This is a Flow variable and it returns a string if the column is set to Key;
otherwise it returns nothing.

CHARACTER_MAXIMUM_LENGTH: the maximum length in number of
characters of the column currently iterated upon. This is a Flow variable, and it returns a
numeric string for binary or character data types and NULL for other types.

NUMERIC_PRECISION: the data precision of the column
currently iterated upon. This is a Flow variable, and it returns a numeric string for
approximate numeric data, exact numeric data, integer data, or monetary data and NULL for
other data types.

NUMERIC_SCALE: the scale in digits allowed in the column
currently iterated upon. This is a Flow variable, and it returns a numeric string for
approximate numeric data, exact numeric data, integer data, or monetary data and NULL for
other data types.

NB_COLUMN: the number of columns iterated upon so far.
This is an After variable and it returns an integer.

ERROR_MESSAGE: the error message generated by the
component when an error occurs. This is an After variable and it returns a string. This
variable functions only if the Die on error check box is
cleared, if the component has this check box.

A Flow variable functions during the execution of a component while an After variable
functions after the execution of the component.

To fill up a field or expression with a variable, press Ctrl +
Space
to access the variable list and choose the variable to use from it.

For further information about variables, see
Talend Studio

User Guide.

Usage

Usage rule

This component is to be used along with Mysql components,
especially with tMysqlConnection.

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.

Once a dynamic parameter is defined, the Component List box in the Basic
settings
view becomes unusable.

For examples on using dynamic parameters, see Reading data from databases through context-based dynamic connections and 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.

Iterating on a DB table and listing its column names

The following Java scenario creates a five-component job that iterates on a
given table name from a Mysql database using a Where clause and lists all column names
present in the table.

  • Drop the following components from the Palette onto the design workspace: tMysqlConnection, tMysqlTableList, tMysqlColumnList, tFixedFlowInput, and tLogRow.

  • Connect tMysqlConnection to
    tMysqlTableList using an OnSubjobOk link.

  • Connect tMysqlTableList,
    tMysqlColumnList, and tFixedFlowInput using Iterate links.

  • Connect tFixedFlowInput to
    tLogRow using a Row Main link.

tMysqlColumnList_1.png
  • In the design workspace, select tMysqlConnection and click the Component tab to define its basic settings.

  • In the Basic settings
    view, set the database connection details manually or select them from the
    context variable list, through a Ctrl+Space click in the corresponding field if you have stored
    them locally as Metadata DB connection entries.

For more information about Metadata, see
Talend Studio

User Guide.

tMysqlColumnList_2.png

In this example, we want to connect to a Mysql database called customers.

  • In the design workspace, select tMysqlTableList and click the Component tab to define its basic settings.

tMysqlColumnList_3.png
  • On the Component list,
    select the relevant Mysql connection component if more than one connection is
    used.

  • Enter a Where clause using the right syntax in the corresponding
    field to iterate on the table name(s) you want to list on the console.

    In this scenario, the table we want to iterate on is called customer.

  • In the design workspace, select tMysqlColumnList and click the Component tab to define its basic settings.

tMysqlColumnList_4.png
  • On the Component list,
    select the relevant Mysql connection component if more than one connection is
    used.

  • In the Table name field,
    enter the name of the DB table you want to list its column names.

    In this scenario, we want to list the columns present in the DB
    table called customer.

  • In the design workspace, select tFixedFlowInput and click the Component tab to define its basic settings.

  • Set the Schema to
    Built-In and click the three-dot
    […] button next to Edit Schema to
    define the data you want to use as input. In this scenario, the schema is made
    of two columns, the first for the table name and the second for the column
    name.

tMysqlColumnList_5.png
  • Click OK to close the
    dialog box, and accept propagating the changes when prompted by the system. The
    defined columns display in the Values
    panel of the Basic settings view.

  • Click in the Value cell
    for each of the two defined columns and press Ctrl+Space to access the global variable list.

  • From the global variable list, select ((String)globalMap.get(“tMysqlTableList_1_CURRENT_TABLE”)) and ((String)globalMap.get(“tMysqlColumnList_1_COLUMN_NAME”)) for the TableName and ColumnName
    respectively.

tMysqlColumnList_6.png
  • In the design workspace, select tLogRow.

  • Click the Component tab
    and define the basic settings for tLogRow
    as needed.

  • Save your job and press F6 to execute it.

tMysqlColumnList_7.png

The name of the DB table is displayed on the console along with all its
column names.


Document get from Talend https://help.talend.com
Thank you for watching.
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x