Connettersi ai database Oracle dai flussi di lavoro in App per la logica di Azure

Si applica a: App per la logica di Azure (Consumption e Standard)

Quando i flussi di lavoro devono usare i dati Oracle, connettersi al database Oracle usando il connettore Oracle Database in App per la logica di Azure. È possibile accedere ai database ospitati in locale o in una macchina virtuale Azure.

Il connettore Oracle Database consente di risolvere attività comuni di integrazione dei dati, ad esempio:

  • Aggiungere i record dei clienti al database.
  • Aggiornare i record degli ordini nel database.
  • Ottenere, inserire o eliminare righe di tabella come parte del flusso di lavoro.

Versioni di Oracle Database supportate

Nella tabella seguente sono elencate le versioni di Oracle DB supportate da ogni connettore:

Connector App per la logica Versioni di Oracle DB supportate
Managed -Consumo
-Standard
- Oracle 9 e versioni successive
- Oracle Data Access Client (ODAC) 11.2 e versioni successive
Predefinita (anteprima) Standard Oracle Database 11 e versioni successive

Informazioni tecniche sul connettore

Il connettore Oracle Database ha versioni diverse, in base al tipo di flusso di lavoro dell'app per la logica e all'ambiente host.

App per la logica Ambiente Versione del connettore
Consumo App per la logica di Azure multi-tenant Connettore gestito, visualizzato nella raccolta connettori sotto il filtro Condiviso .

Per altre informazioni, vedere Informazioni di riferimento sul connettore gestito di Database Oracle.
Standard App per la logica di Azure a tenant singolo, ambiente del servizio app v3 (solo piani di Windows) e Ibrido Connettore gestito, visualizzato nella raccolta connettori sotto il filtro Condiviso e connettore predefinito (anteprima pubblica), visualizzato nella raccolta connettori sotto il filtro predefinito .

La versione integrata nel processo viene eseguita con il runtime App per la logica di Azure e non richiede il gateway dati in sede perché il runtime può raggiungere l'endpoint Oracle tramite rete.

Per altre informazioni, vedere:

- Informazioni di riferimento sul connettore gestito di Database Oracle
- Informazioni di riferimento sul connettore predefinito

Operazioni del connettore predefinite (anteprima)

Il connettore predefinito supporta attualmente le azioni seguenti:

Nome Parametri Descrizione Restituisce
Eseguire una query (executeQuery) - Query (query): obbligatorio con tipo string. Query SQL da eseguire.

- Parametri di query (queryParameters): opzionale con tipo object. Parametri di query da includere.
Esegue una query SQL. Il risultato della query SQL è .array
Eseguire una stored procedure (executeStoredProcedure) - Il nome della stored procedure (storedProcedure): obbligatorio con string tipo. Nome della stored procedure da eseguire.

- Parametri della stored procedure (storedProcedureParameters): con tipo object facoltativo. Parametri della stored procedure da includere.
Esegue una stored procedure e restituisce i set di risultati e i parametri di output. - Serie di risultati (resultSets) di tipo string. Elenco di set di risultati restituiti dalla stored procedure.

- Parametri di output (outputParmaters) di tipo string. Valori dei parametri di output restituiti dalla procedura memorizzata.
Recupera righe (getRows) - Nome tabella (tableName): tipo string obbligatorio. Nome della tabella di origine.

- WHERE condition (columnValuesForWhereCondition): Tipo object facoltativo. La coppia chiave-valore delle colonne che identificano le righe da recuperare.

- Offset per Ottenere righe (skipCount): facoltativo per il tipo string. Numero di elementi da ignorare. Il valore predefinito è 0.

- Numero massimo di righe (maxcount): facoltativo con string tipo. Numero massimo di righe da ottenere. Il valore predefinito è 0.

- Colonna di ordinamento (orderBy): tipo facoltativo con string. Nome della colonna da utilizzare per ordinare il risultato della query.

- Selezionare Colonne (filterBy): con tipo string facoltativo. Valore della colonna da ottenere dalla tabella o dalla vista.
Ottiene una o più righe in base alla condizione specificata. Righe recuperate come array.
Ottieni le tabelle (getTables) Restituisce solo tabelle di proprietà dell'utente corrente (ownedTables): facoltativo con string tipo. Restituisce solo le tabelle in cui il proprietario è l'utente specificato. Ottiene un elenco di tabelle. Elenco di tabelle come array.
Inserisci riga (insertRow) - Nome tabella (tableName): tipo string obbligatorio. Nome della tabella.

Imposta colonne (setColumns): tipo object facoltativo. Valori dei campi di riga.
Inserisce una riga. La riga inserita è del tipo object.

Prerequisiti

Prerequisiti del connettore gestito (consumo e standard)

Prerequisiti predefiniti del connettore (Standard, anteprima)

  • Assicurati che il flusso di lavoro dell'app logica standard possa raggiungere l'endpoint Oracle, incluse qualsiasi host, porta, risoluzione DNS e regole del firewall.

  • Quando si crea la connessione al database Oracle, sono necessari i valori seguenti:

    • Indirizzo IP del server di database Oracle
    • Nome utente
    • Parola chiave

    Per l'indirizzo IP del server, specificare questo valore nei formati seguenti:

    Formato Sintassi Example
    Easy Connect (non SSL) < host>:<port>/<database-service-name> localhost:1522/XE
    Descrittore TNS (Transparent Network Substrate) (SSL): Descrittore completo della sorgente di dati Oracle (description=(retry_count=<retries>)(retry_delay=<delay-duration>)(address=(protocol=tcps)(port=<port-number>)(host=<host>))(connect_data=(service_name=<service-name>))(security=(ssl_server_dn_match=yes))) (description=(retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=localhost))(connect_data=(service_name=XE))(security=(ssl_server_dn_match=yes)))
  • Per l'azione Get row usata in questo esempio, è necessario conoscere l'identificatore della tabella a cui accedere.

    Se non si conoscono queste informazioni, contattare l'amministratore di Oracle Database o ottenere l'output dall'istruzione seguente: select * from <table-name>.

Problemi noti e limitazioni

Le versioni correnti del connettore non supportano i trigger. Usare qualsiasi trigger adatto allo scenario per avviare il flusso di lavoro e quindi aggiungere azioni Oracle.

Connector Limitations
Managed - Tabelle con chiavi composite
- Tabelle con tipi di oggetto annidati
- Funzioni di database con valori non scalabili
Predefinito - Nessuna azione di aggiornamento o eliminazione dedicata. Per gli scenari di aggiornamento ed eliminazione, usare le azioni Esegui query o Esegui stored procedure .
- Alcuni problemi di connessione potrebbero essere visualizzati solo in fase di esecuzione del flusso di lavoro, anziché in fase di creazione della connessione.

Aggiunge un'azione

I passaggi per aggiungere e usare un'azione Oracle variano a seconda che si usi il connettore predefinito o il connettore gestito.

Aggiungere un'azione predefinita del connettore (Standard, anteprima)

  1. Nel portale di Azure, aprire la risorsa dell’app per la logica Standard.

  2. Nella finestra di progettazione aprire il flusso di lavoro.

  3. Seguire la procedura generica per aggiungere l'azione Oracle Database al flusso di lavoro.

    Questo esempio continua con l'azione Recupera righe .

  4. Nel riquadro informazioni di connessione immettere le informazioni necessarie, ad esempio il nome della connessione desiderato, l'indirizzo IP del server di database Oracle, il nome utente e la password, ad esempio:

    Screenshot mostra il portale di Azure, la finestra di progettazione del flusso di lavoro Standard e il riquadro connessione database Oracle per l'azione Recupera righe.

  5. Al termine, selezionare Crea nuovo.

  6. Nel riquadro delle informazioni sull'azione immettere i valori dei parametri necessari per l'azione selezionata.

    Ad esempio, se si seleziona l'azione Recupera righe , immettere il nome della tabella:

    Screenshot mostra il portale di Azure, la finestra di progettazione del flusso di lavoro Standard e l'azione Recupera righe con un nome di tabella di esempio.

  7. Aggiungere eventuali altre azioni necessarie per completare il flusso di lavoro.

  8. Salvare il flusso di lavoro. Sulla barra degli strumenti della finestra di progettazione selezionare Salva.

Aggiungere un'azione del connettore gestito (consumo e standard)

  1. Nel portale Azure, apri la risorsa app della logica di consumo o standard.

  2. Nella finestra di progettazione aprire il flusso di lavoro.

  3. Seguire la procedura generica per aggiungere l'azione Oracle Database al flusso di lavoro.

    Questo esempio continua con l'azione Ottieni riga.

  4. Nel riquadro informazioni di connessione immettere le informazioni di connessione necessarie.

  5. Per la proprietà Gateway selezionare la sottoscrizione di Azure e la risorsa gateway di Azure da usare.

  6. Dopo aver completato la connessione, nell'elenco Nome tabella selezionare una tabella.

  7. Immettere l'ID della riga per la proprietà Row Id desiderata nella tabella.

    Nell'esempio seguente, i dati relativi al lavoro vengono restituiti da un database delle risorse umane:

    Screenshot mostra il portale di Azure, il progettista di flussi di lavoro e l'azione Ottieni riga con il nome della tabella e dell'ID riga.

  8. Aggiungere eventuali altre azioni necessarie per completare il flusso di lavoro.

  9. Salvare il flusso di lavoro. Sulla barra degli strumenti della finestra di progettazione selezionare Salva.

Risolvere i problemi di connessione al database Oracle

Errore: Non è possibile raggiungere il gateway

Causa: il gateway dati locale non può connettersi al cloud.

Mitigazione: assicurarsi che il gateway sia in esecuzione sul computer locale in cui è stato installato il gateway e che abbia connettività a Internet. Evitare di installare il gateway su un computer che potrebbe essere spento o passare alla sospensione. È anche possibile provare a riavviare il servizio gateway dati locale (PBIEgwService).

Errore: il provider in uso è deprecato: "System.Data.OracleClient richiede software client Oracle versione 8.1.7 o successiva". Per installare il provider ufficiale, vedere https://go.microsoft.com/fwlink/p/?LinkID=272376.

Causa: Oracle Client SDK non è installato nel computer in cui è in esecuzione il gateway dati locale.

Risoluzione: scaricare e installare l'Oracle client SDK sullo stesso computer del gateway dati on-premise.

Errore: La tabella '[NomeTabella]' non definisce alcuna colonna chiave

Causa: la tabella non ha una chiave primaria.

Soluzione: il connettore Oracle Database richiede l'uso di una tabella con una colonna chiave primaria.