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

# Oracle integration

> Write Octoparse scraped data to Oracle — Instant Client setup, schema/table-owner configuration, and upsert mode.

Write scraped data directly into an Oracle database. Requires the Oracle Instant Client to be installed on the machine running Octoparse.

## Prerequisites

* Octoparse Free plan or above
* Oracle 11g or later
* Oracle Instant Client (64-bit) installed — see below
* A user account with write permission on the target schema

***

## Install the Oracle Instant Client

Octoparse uses Thick mode to connect to Oracle, so the Instant Client is required.

1. Download **Instant Client Basic** (64-bit) from [Oracle's website](https://www.oracle.com/database/technologies/instant-client/downloads.html).
2. Extract it to a local directory (e.g. `C:\oracle\instantclient`).
3. Add that directory to the system PATH.
4. Restart Octoparse.

> **Note:** the Instant Client architecture must match Octoparse (both 64-bit). Mismatched architectures throw `DPI-1047`.

***

## Configure the export

Fill in the export settings in the following order:

**Configuration name**

Give the config a name so you can reuse it later. The dropdown lets you pick an existing config or type a new name to create one.

**Connection details**

| Field | Description | Example |
| - | - | - |
| Server name | Database host (IP or domain) | `192.168.1.100` |
| Port | Port number | `1521` |
| Username | Database user | `scott` |
| Password | Database password | — |
| Table Owner | Schema (owner) the table belongs to | `SCOTT` |

Octoparse assembles a connection string in the form `{server}:{port}/{database}` automatically.

> **Table Owner is required.** In Oracle, tables belong to a specific schema — without Table Owner, Octoparse can't query or write to the target. It's usually the same as Username, but may differ when using a shared schema.

**Database name**

For Oracle, Database name is a free-text field (service name or SID) — there's no dropdown.

**Database Table**

After filling in Database name, pick the target table from the Database Table dropdown (queried from `user_tables`). Create the table in the target schema ahead of time; Octoparse reads its columns for field mapping.

**Test Connection**

Click **Test Connection** to validate the connection, then click **Export** to start.

***

## Write modes

### Append (Insert)

Each export appends new rows to the end of the table without affecting existing data.

### Upsert (Insert or Update)

Decides per row by the primary key you specify: update if the record exists, insert if it doesn't. Designate the primary-key column in field mapping; if the target table needs a primary-key constraint, configure it in Oracle ahead of time.

***

## Common errors

| Error | Cause | Fix |
| - | - | - |
| `DPI-1047` | Instant Client missing or wrong architecture | Install the 64-bit Instant Client and add it to PATH |
| `ORA-12899` | Value exceeds column length | Widen the column (`ALTER TABLE ... MODIFY`) |
| `ORA-01017` | Wrong credentials | Re-verify credentials |
| `ORA-12541` | Can't reach the listener | Check host, port, and network connectivity |
| `ORA-00942` | Table or view doesn't exist | Confirm Table Owner is correct |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.