# tSingleStoreOutputBulk

Prepares the bulk file to be used as a parameter to feed the database connected.

The tSingleStoreOutputBulk and tSingleStoreBulkExec components are used together in a two step process. In the first step, a bulk file is generated. In the second step, the bulk file is used to feed the database connected. These two steps are fused together in the tSingleStoreOutputBulkExec component, detailed in a separate section. The advantage of using a two-step process is that the data can be transformed before it is loaded in the database.

tSingleStoreOutputBulk writes a file with columns based on the defined delimiter.

## tSingleStoreOutputBulk Standard properties

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

The Standard tSingleStoreOutputBulk 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. |
| 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 write data into. |
| 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 from being<br>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 used along with the tSingleStoreBulkExec. They provide<br>performance gains when feeding a database. |