# tSingleStoreOutputBulkExec

Provides performance gain when loading data from a file into a table of a database connected through JDBC API.

Normally, the tSingleStoreOutputBulk and tSingleStoreBulkExec components work together in a two-step process:

1. The tSingleStoreOutputBulk component uploads incoming data to a storage.
2. The tSingleStoreBulkExec component loads the data from a storage into a database table.

You can transform the data before it is loaded into the database table in this two-step process. These two steps are fused together in the tSingleStoreOutputBulkExec component.

## tSingleStoreOutputBulkExec Standard properties

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

The Standard tSingleStoreOutputBulkExec component belongs to the Databases family.

The component in this framework is available in all subscription-based Talend products.

Information noteNote: 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 [DB Generic components](https://help.qlik.com/talend/r/en-US/8.0/components/db-generic/db-generic-component).

## Basic settings

| Properties | Description |
| --- | --- |
| Database | Select the desired database type from the list and click<br>Apply. |
| Property Type | Select the way the connection details will be<br>set.<br><br><ul> <li> <span>Built-In</span>: The connection details will be set                                    locally for this component. You need to specify the values for                                    all related connection properties manually.                     </li> <li> <span>Repository</span>: The connection details stored                                    centrally in <span><span>Repository</span><abbr> &gt; </abbr><span>Metadata</span></span> will be reused by this component. You need to                                    click the <span>[...]</span> button                                    next to it and in the pop-up <span>Repository Content</span> dialog box, select the                                    connection details to be reused, and all related connection                                    properties will be automatically filled in.                     </li> </ul><br><br>This property is available when Use this Component is<br>selected from the Connection Component dropdown<br>list. |
| Component list | Select the component that opens the database connection to be reused by this<br>component. |
| JDBC URL | The JDBC URL of the database to be used. For example, the JDBC URL for the Amazon Redshift database is jdbc:redshift://endpoint:port/database. |
| Drivers | Complete this table to load the driver JARs needed. To do<br>this, click the [+] button under the table to add<br>as many rows as needed, each row for a driver JAR, then select the cell and click the<br>[...] button at the right side of the cell to<br>open the Module dialog box from which you can select the driver JAR<br>to be used. For example, the driver jar RedshiftJDBC41-1.1.13.1013.jar for the Redshift database.<br><br>For more information, see [Importing a database driver](https://help.qlik.com/talend/r/en-US/8.0/components/jdbc/importing-database-driver). |
| Driver Class | Enter the class name for the specified driver between double<br>quotation marks. For example, for the RedshiftJDBC41-1.1.13.1013.jar driver, the name to be entered is<br>com.amazon.redshift.jdbc41.Driver. |
| User Id and Password | The database user authentication data.<br><br>To enter the password, click the [...] button<br>next to the password field, enter the password in double quotes in the pop-up dialog box,<br>and click OK to save the settings. |
| Schema and Edit schema | A schema is a row description. It defines the number of fields<br>(columns) to be processed and passed on to the next component. When you create a Spark<br>Job, avoid the reserved word line when naming the<br>fields.<br><br><ul> <li> <p> <span>Built-In</span>: You create and store the schema locally for this component                only.</p> </li> <li> <p> <span>Repository</span>: You have already created the schema and stored it in the                Repository. You can reuse it in various projects and Job designs.</p> </li> </ul><br><br>Click Edit schema to make changes to<br>the schema. If you make changes, the schema automatically becomes built-in.<br><br><ul> <li> <p> <span>View schema</span>: choose this                option to view the schema only.</p> </li> <li> <p> <span>Change to built-in property</span>:                choose this option to change the schema to <span>Built-in</span> for local changes.</p> </li> <li> <p> <span>Update repository connection</span>:                choose this option to change the schema stored in the repository and decide whether                to propagate the changes to all the Jobs upon completion.</p> <p>If you just want to                propagate the changes to the current Job, you can select <span>No</span> upon completion and choose this schema metadata                again in the <span>Repository Content</span>                window.</p> </li> </ul><br><br>This component offers the advantage of the dynamic schema feature. This allows you<br>to retrieve unknown columns from source files or to copy batches of columns from a<br>source without mapping each column individually. For further information about<br>dynamic schemas, see [Dynamic schema](https://help.qlik.com/talend/r/en-US/8.0/studio-user-guide/dynamic-schema).<br><br>This dynamic schema feature is designed for the purpose of retrieving<br>unknown columns of a table and is recommended to be used for this purpose only; it is<br>not recommended for the use of creating tables. |
| Table | Enter the name of the table into<br>which data will be written. |
| Bulk file | Name of the bulk file to be loaded. |
| Append | Select this option if you want to append the incoming data to an existing bulk<br>file.<br><br>This option prevents the data in an exisitng file<br>from being overwritten. |

## Advanced settings

| Properties | Description |
| --- | --- |
| Row Separator | The separator used to identify the end of a row. |
| Field separator | Enter a character, a string, or a regular expression to separate<br>fields for the transferred data. |
| Set text enclosure | Select this option to set the text enclosure. You can enter the enclosure character (only one<br>character) between double quotation marks in the text field to the<br>right. For example, to use double quotation mark (") as the enclosure<br>character, enter """ in this<br>field.<br><br>It is recommended to use standard escape character, that is<br>"\". Otherwise, you should<br>set the same character for Escape<br>char and Text<br>enclosure. If the escape character is set to "\", the text enclosure can be set to<br>any other character; if the escape character is set to a character other<br>rather than "\", it will be<br>changed to the same character as the text enclosure. For example, with<br>the escape character set to "#"<br>and the text enclosure set to "@", the escape character will be changed to "@". |
| Set null value | Select this option to set the null value. You can set the null value in the field to the right. |
| tStatCatcher Statistics | Select this checkbox to gather the Job processing metadata at the Job level<br>as well as at each component level. |

## Global Variables

| Variables | Description |
| --- | --- |
| ERROR\_MESSAGE | The error message generated by the component when an error<br>occurs. This is an After variable and it returns a string. |

## Usage

| Usage guidance | Description |
| --- | --- |
| **Usage rule** | This component is mainly used when no particular transformation is required on the data to be loaded into the<br>database. |