> ## 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                       |
