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

# Integrazione Oracle

> Scrivi i dati estratti da Octoparse in Oracle: Instant Client, proprietario di schema e tabella e modalità upsert.

Scrivi i dati estratti direttamente in un database Oracle. Oracle Instant Client deve essere installato sul computer che esegue Octoparse.

## Prerequisiti

* Piano gratuito Octoparse o superiore
* Oracle 11g o versione successiva
* Oracle Instant Client a 64 bit installato, come indicato sotto
* Account utente con autorizzazione di scrittura sullo schema di destinazione

***

## Installare Oracle Instant Client

Octoparse usa la modalità Thick per connettersi a Oracle, quindi Instant Client è necessario.

1. Scarica **Instant Client Basic** a 64 bit dal [sito Oracle](https://www.oracle.com/database/technologies/instant-client/downloads.html).
2. Estrailo in una directory locale, ad esempio `C:\oracle\instantclient`.
3. Aggiungi la directory al PATH di sistema.
4. Riavvia Octoparse.

> **Nota:** l'architettura di Instant Client deve corrispondere a Octoparse, entrambi a 64 bit. Architetture diverse generano `DPI-1047`.

***

## Configurare l'esportazione

Compila le impostazioni nell'ordine seguente:

**Nome configurazione**

Assegna un nome alla configurazione per poterla riutilizzare. Dal menu puoi sceglierne una esistente o digitare un nuovo nome.

**Dettagli di connessione**

| Campo                | Descrizione                       | Esempio         |
| -------------------- | --------------------------------- | --------------- |
| Nome server          | Host database, IP o dominio       | `192.168.1.100` |
| Porta                | Numero porta                      | `1521`          |
| Nome utente          | Utente database                   | `scott`         |
| Password             | Password database                 | —               |
| Proprietario tabella | Schema proprietario della tabella | `SCOTT`         |

Octoparse compone automaticamente una stringa di connessione nel formato `{server}:{port}/{database}`.

> **Il Proprietario tabella è obbligatorio.** In Oracle le tabelle appartengono a uno schema specifico: senza questo dato Octoparse non può interrogare o scrivere la destinazione. In genere coincide con il Nome utente, ma può differire negli schemi condivisi.

**Nome database**

Per Oracle, Nome database è un campo di testo libero, cioè nome servizio o SID; non è disponibile un menu.

**Tabella database**

Dopo aver compilato Nome database, scegli la tabella dal relativo menu, interrogato da `user_tables`. Crea prima la tabella nello schema di destinazione; Octoparse ne legge le colonne per associare i campi.

**Test connessione**

Fai clic su **Test connessione** per convalidarla, quindi su **Esporta** per iniziare.

***

## Modalità di scrittura

### Aggiunta (Insert)

Ogni esportazione aggiunge nuove righe in fondo alla tabella senza modificare i dati esistenti.

### Upsert (Insert o Update)

Decide riga per riga in base alla chiave primaria specificata: aggiorna il record se esiste, altrimenti lo inserisce. Indica la colonna della chiave primaria nell'associazione dei campi; se la tabella richiede un vincolo di chiave primaria, configuralo prima in Oracle.

***

## Errori comuni

| Errore      | Causa                                        | Soluzione                                          |
| ----------- | -------------------------------------------- | -------------------------------------------------- |
| `DPI-1047`  | Instant Client assente o architettura errata | Installa la versione a 64 bit e aggiungila al PATH |
| `ORA-12899` | Valore troppo lungo per la colonna           | Amplia la colonna con `ALTER TABLE ... MODIFY`     |
| `ORA-01017` | Credenziali errate                           | Verifica nuovamente le credenziali                 |
| `ORA-12541` | Listener non raggiungibile                   | Controlla host, porta e connessione di rete        |
| `ORA-00942` | Tabella o vista inesistente                  | Verifica il Proprietario tabella                   |
