# Connect Soda to OracleDB

> For Soda to run quality scans on your data, you must configure it to connect to your data source.\
> To learn how to set up Soda and configure it to connect to your data sources, see [Get started](https://docs.soda.io/soda-documentation/soda-v3/quick-start-sip/setup-guide).

## Compatibility

Soda supports Oracle version 21.3 or greater.

## Connection configuration reference

Install package: `soda-oracle`

```yaml
data_source my_datasource_name:
  type: oracle
  username: ${USARBIG_USER}
  password: ${USARBIG_PASSWORD}
  connectstring: "${USARBIG_HOST}:${UARBIG_PORT}/USARBIG_SID}"
```

Alternatively, you can configure a connection without a `connectstring`.

```yaml
data_source my_datasource_name:
  type: oracle
  username: simple
  password: simple_pass
  host: host
  service_name: service
```

| Property        | Required | Notes                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| --------------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| type            | required | Identify the type of data source for Soda.                                                                                                                                                                                                                                                                                                                                                                                                                  |
| username        | required | Consider using system variables to retrieve this value securely.                                                                                                                                                                                                                                                                                                                                                                                            |
| password        | required | Consider using system variables to retrieve this value securely.                                                                                                                                                                                                                                                                                                                                                                                            |
| host            | optional | Provide a host identifier. Only used when connectstring is not provided.                                                                                                                                                                                                                                                                                                                                                                                    |
| port            | optional | Provide a port identifier. Default is 1523. Only used when connectstring is not provided.                                                                                                                                                                                                                                                                                                                                                                   |
| service\_name   | optional | Provide a service\_name. Only used when connectstring is not provided.                                                                                                                                                                                                                                                                                                                                                                                      |
| connectstring   | optional | Specify connection information for the Oracle database. Must be a semicolon-separated list of attribute name and value pairings. See [ConnectionString](https://docs.oracle.com/en/database/oracle/oracle-database/21/odpnt/ConnectionConnectionString.html#GUID-DF4ED9A3-1AAF-445D-AEEF-016E6CD5A0C0) in Oracle documentation. If you do not specify one, Soda attempts to construct a `connectstring` using `host`, `port` and `service_name` properties. |
| dataset\_prefix | optional | Added in 1.10.1. A list of strings to be used for prefixing datasets. Useful for catalog integrations. Example: `dataset_prefix: ["my_db", "my_schema"]`                                                                                                                                                                                                                                                                                                    |

## Test the data source connection <a href="#test-the-data-source-connection" id="test-the-data-source-connection"></a>

To confirm that you have correctly configured the connection details for the data source(s) in your configuration YAML file, use the `test-connection` command. If you wish, add a `-V` option to the command to return results in verbose mode in the CLI.

```sh
soda test-connection -d my_datasource -c configuration.yml -V
```

## Supported data types

| Category | Data type                                                                                                                 |
| -------- | ------------------------------------------------------------------------------------------------------------------------- |
| text     | CHARACTER VARYING, CHARACTER, CHAR, TEXT                                                                                  |
| number   | SMALLINT, INTEGER, BIGINT, DECIMAL, NUMERIC, VARIABLE, REAL, DOUBLE PRECISION, SMALLSERIAL, SERIAL, BIGSERIAL             |
| time     | TIMESTAMP, DATE, TIME, TIMESTAMP WITH TIME ZONE, TIMESTAMP WITHOUT TIME ZONE, TIME WITH TIME ZONE, TIME WITHOUT TIME ZONE |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.soda.io/soda-documentation/soda-v3/data-source-reference/connect-oracle.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
