---
title: Creating and Deleting Data Sources
description: Creating and deleting data sources
documentId: ipaas-data-sources-create
locale: en-US
---

* [Create a data source](#creating-a-new-data-source)
* [View existing data sources](#viewing-existing-data-sources)
* [Filter data sources with the search tool](#filters)
* [Edit data sources](#editing-a-data-source)
* [Delete data sources](#deleting-a-data-source)


## Creating a new data source

To create a new data source, access the **Data Sources** screen and click **+ DATA SOURCE** in the upper right corner of the screen.
Then fill in the requested fields.

Creating a new data source takes place in 3 steps:

<Steps>
<Step>
[Recording basic database information](#recording-basic-database-information)
</Step>
<Step>
[Driver configuration](#configuring-the-driver)
</Step>
<Step>
[Configuring the environment in which the database will be used](#configuring-the-environment)
</Step>
</Steps>

![Image of the New Data Source screen with the fields listed below](https://creative-ball-51b3fc85c0.media.strapiapp.com/new_data_source_15d4d00bf6.png)

### Recording basic database information

* **Name**: unique name that will identify the database. This name will appear in the list of available databases when creating the integration flow.
  * Limit of 100 characters.
  * Only alphanumeric characters, - or _ are allowed.
  * Space is not allowed.

* **Description**: database description. Limit of 1024 characters.

### Configuring the driver

* **Database Type**: select the database to be configured.
* **Driver**: field loaded automatically according to the database selection. It is the file that contains the JDBC implementation for a specific database. Editing this field is not allowed.
* **Version**: select one of the available database versions. This field is only enabled after selecting a database.
* **Driver Class**: field loaded automatically according to the database selection. It is the full name of the Java class within the driver that Camel uses to initialize the connection to the database. Editing this field is not allowed.

### Configuring the environment

To configure the environment, click the pencil icon on the right, in the **Actions** column. You can configure the same database for one or both available environments.

#### Basic properties

You must fill in the fields with your database access credentials.
Then click **CONFIRM**.

* **URL**: [connection URL](/docs/integrations/ipaas-data-sources)
* **User**: username
* **Password**: access password


#### Advanced properties

The advanced properties of data sources allow more detailed control of the JDBC connection pool, as well as enabling specific adjustments to the connection behavior. This helps improve performance, increase resilience to network failures, and optimize costs.

<Callout type="important" title="IMPORTANT">
Advanced properties are applied individually in each environment.
</Callout>

<Callout type="tip" title="TIP">
The advanced properties configuration fields display default values.
</Callout>

The table below describes the available advanced properties:

| Property               | Description  | Default Value |
|------------------------|------------|--------------|
| initialSize            | Number of connections created when the pool is started. | 0  |
| maxTotal               | Maximum number of active connections that can be allocated in the pool. Use a negative value for unlimited. | 8  |
| maxIdle                | Maximum number of connections that can remain idle in the pool. Use a negative value for unlimited.  | 8  |
| minIdle                | Minimum number of connections that must remain idle in the pool.     | 8  |
| maxWaitMillis          | Maximum time in milliseconds that the system will wait for a connection when none is available, before throwing an exception. | empty (indefinitely) |

**Connection Validation**
| Property | Description | Default Value | 
|-------------|-----------|--------------|
| validationQuery        | SQL query (e.g.: `SELECT 1`) used to validate connections before they are delivered.   | -  |
| validationQueryTimeout | Maximum time, in seconds, that the `validationQuery` can take to execute before being considered as failed. | -  |
| testOnCreate           | Indicates whether connections will be validated after their creation.                  | -  |
| testOnBorrow           | Indicates whether connections will be validated before being "borrowed" from the pool. | yes|
| testOnReturn           | Indicates whether connections will be validated when returned to the pool.             | -  |
| testWhileIdle          | Indicates whether connections will be validated by the idle connection removal process (_eviction thread_).  | - |

<Callout type="note" title="NOTE">
* The advanced properties configuration fields display default values.
* The maximum limit for each field is 15 numeric digits ("Initial Size", "Max Total", "Max Idle", "Min Idle", "Max Wait Millis" and "Validation Query Timeout").
* Negative values are not allowed, except in the "maxTotal", "maxWaitMillis", and "maxIdle" fields.
</Callout>

<Callout type="tip" title="GOOD PRACTICE">
We recommend setting the "validationQueryTimeout" field (Connection Validation)for each driver, as it allows for quick identification of connection issues and prevents unnecessary delays in the execution of integrations.
 </Callout>

After completing this step, confirm the information.

<!-- 
### Testing the database connection

Before saving the environment settings, you can test the database connection by clicking the **TEST** button located at the bottom of the configuration window. This ensures that the information provided is correct and that communication with the database is working properly. Additionally, this test helps quickly identify and resolve any potential connectivity issues.

If the connection fails, an informative message will be displayed to help with diagnosis.

**To perform the connection test, pay attention to the following points:**

- Fill in all required fields of the basic properties (**URL, User, and Password**) for the desired environment (**Staging** or **Production**).
- The **Password** field must be entered whenever a new test is performed.
- The test considers only the values currently filled in the form, disregarding data already saved in the database (in case there are changes on the screen).
- The test is performed separately for each environment, respecting the network settings of Staging or Production.
- The maximum time for connection attempt is 30 to 45 seconds. If exceeded, an error message will be displayed.

<Callout type="important" title="IMPORTANT">
Success in the test does not automatically save the information. Click **CONFIRM** to save the data in the configuration form.
</Callout>

![environment registration screen image](https://creative-ball-51b3fc85c0.media.strapiapp.com/environment_config_connection_test_0ef4954b6e.png)
 -->

## Viewing existing data sources

The **Data Sources** screen displays all created data sources. You can choose the display format in list or card format by clicking the respective icons in the upper right.

The image below shows existing data sources in list format:

![Image of the Data Sources screen with registered data sources](https://creative-ball-51b3fc85c0.media.strapiapp.com/data_sources_view_ef221ec8de.png)

The following information is available for viewing:

* **Name**: name used in the database registration.
* **Description**: database description.
* **Database Type**: type of database (Azure SQL, DB2, Firebird, etc.).
* **Version**: database version selected during registration.
* **Environment**: environment in which the database is configured, indicated by green color.
* **Actions**: click the pencil icon to edit a data source.

### Filters

At the top of the screen, you can search for data sources using the following filters:

* **Database Type**: type of database (Azure, DB2, Firebird, etc.).
* **Environment**: Production and Staging.

To search for a specific data source, type the name or a word from the flow description in the search box and click **SEARCH**.

## Editing a data source

To edit a data source, follow these steps:

<Steps>
<Step>
Access the **Data Sources** screen
</Step>
<Step>
Identify the data source you want to edit and click the pencil icon on the right, in the _Actions_ column.
</Step>
<Step>
On the **Edit Data Source** screen, edit the desired information.
</Step>
<Step>
At the end of the editing, click **SAVE**.
</Step>
</Steps>

<Callout type="note" title="NOTE">
It is not possible to edit the database name in the **Name** field.
</Callout>

<Callout type="important" title="IMPORTANT">
If you edit a data source linked to a deployed flow, the flow must be deployed again.
</Callout>

## Deleting a data source

To delete a data source, follow these steps:

<Steps>
<Step>
Access the **Data Sources** screen.
</Step>
<Step>
Identify the data source you want to delete and, in the corresponding row, click the trash icon in the _Actions_ column.
</Step>
<Step>
To confirm deletion, click **YES**. After deletion, the data source will be permanently removed.
</Step>
</Steps>

Alternatively, you can delete a data source by accessing its editing screen and clicking the trash icon in the upper right corner of the screen.

<Callout type="important" title="IMPORTANT">
Data sources that are in use in integration flows cannot be deleted.
</Callout>
