> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nekt.com/llms.txt
> Use this file to discover all available pages before exploring further.

# SAP SQL Anywhere as a data source

> Bring data from SAP SQL Anywhere to Nekt.

SAP SQL Anywhere is a relational database management system from SAP, designed for embedded and remote-office deployments. It supports standard SQL and provides a lightweight, self-managing database engine commonly used in distributed enterprise applications.

## Configuring SAP SQL Anywhere as a Source

In the [Sources](https://app.nekt.ai/sources) tab, click on the "Add source" button located on the top right of your screen. Then, select the SAP SQL Anywhere option from the list of connectors.

Click **Next** and you'll be prompted to add your access.

### 1. Add account access

You'll need the connection credentials for your SAP SQL Anywhere database instance.

<Warning>
  The database user must have **read access** to the schemas and tables you want to extract. We recommend creating a dedicated read-only user for Nekt.
</Warning>

### 2. Configuration Options

* **Host**: The hostname or IP address of your SAP SQL Anywhere database server.
* **Port**: The port number for your database connection. The default port for SAP SQL Anywhere is `2638`.
* **Database**: The name of the database you want to connect to.
* **User**: The username for authenticating with the database.
* **Password**: The password for the database user.

#### Advanced Settings

* **Server Name** (optional): The server/engine name (`eng` parameter). Only needed if your SAP SQL Anywhere instance requires it.
* **Filter Schemas** (optional): An array of schema names to include. If left blank, all available schemas will be discovered.
* **Chunk Size**: The number of rows to fetch at a time. Default is `20000`. Set to `0` to fetch all rows at once (not recommended for large tables).

### 3. SSH Tunnel (optional)

If your SAP SQL Anywhere database is behind a firewall, you can connect through an SSH tunnel (bastion host).

<Accordion title="How to configure SSH Tunnel">
  <Steps>
    <Step title="Enable SSH Tunnel">
      Toggle the SSH Tunnel option to enabled.
    </Step>

    <Step title="Enter SSH Server Details">
      * **SSH Host**: The hostname of your bastion/jump server.
      * **SSH Port**: The SSH port (default: `22`).
      * **SSH Username**: Your SSH username.
    </Step>

    <Step title="Provide Authentication">
      Use either a password or a private key:

      * **SSH Password**: Password for the SSH server, OR
      * **SSH Private Key**: PEM-formatted private key for key-based authentication.
    </Step>
  </Steps>
</Accordion>

### 4. Select streams

After configuring your connection, Nekt will discover all available tables and views from your SAP SQL Anywhere database. Select the tables you want to sync.

### 5. Configure data streams

For each selected table, you can configure:

* **Replication method**: Choose between **Full Table** (complete sync each run) or **Incremental** (only new/updated rows based on a replication key column).
* **Replication key**: For incremental sync, select the column that tracks changes (typically a timestamp or auto-incrementing ID column).

### 6. Verify and save

Review your configuration and click **Save**. Nekt will begin syncing data from your SAP SQL Anywhere database on the configured schedule.

## Supported Data Types

SAP SQL Anywhere data types are automatically mapped to the appropriate types in Nekt's Catalog:

| SAP SQL Anywhere Type                           | Nekt Type            |
| ----------------------------------------------- | -------------------- |
| `INTEGER`, `BIGINT`, `SMALLINT`, `TINYINT`      | Integer              |
| `FLOAT`, `DOUBLE`, `REAL`, `NUMERIC`, `DECIMAL` | Number               |
| `MONEY`, `SMALLMONEY`                           | Number               |
| `CHAR`, `VARCHAR`, `NCHAR`, `NVARCHAR`, `TEXT`  | String               |
| `DATE`                                          | Date                 |
| `DATETIME`, `TIMESTAMP`                         | DateTime             |
| `TIME`                                          | String               |
| `BIT`                                           | Boolean              |
| `UNIQUEIDENTIFIER`                              | String               |
| `BINARY`, `VARBINARY`, `LONG BINARY`, `IMAGE`   | String (hex-encoded) |
