Oracle Database
Oracle Database è un sistema di gestione di database relazionale sviluppato da Oracle. Connettersi al database Oracle locale per eseguire varie azioni, ad esempio creare, aggiornare, ottenere ed eliminare in righe di una tabella.
Questo connettore è disponibile nei prodotti e nelle aree seguenti:
| Servizio | Class | Regions |
|---|---|---|
| Copilot Studio | Di alta qualità | Tutte le aree di Power Automate |
| App per la logica | Normale | Tutte le aree di App per la logica , ad eccezione delle seguenti: - Dipartimento della Difesa degli Stati Uniti (DoD) |
| Power Apps | Di alta qualità | Tutte le aree di Power Apps |
| Power Automate | Di alta qualità | Tutte le aree di Power Automate |
| Contatto | |
|---|---|
| Nome | Microsoft |
| URL |
Supporto di Microsoft LogicApps Supporto di Microsoft Power Automate Supporto di Microsoft Power Apps |
| Metadati del connettore | |
|---|---|
| Editore | Microsoft |
| Sito web | https://www.oracle.com/database/ |
| Informativa sulla privacy | https://www.oracle.com/legal/privacy/ |
Questo articolo descrive le operazioni per il connettore Oracle Database, disponibile per App per la logica di Azure, Microsoft Power Apps e Microsoft Power Automate. È possibile usare questo connettore per connettersi a un database Oracle locale o a una macchina virtuale di Azure con Oracle Database installato.
- Per usare questo connettore in Power Apps, vedere Connettersi a un database Oracle da Power Apps.
Novità
Nella tabella seguente vengono descritti i nuovi aggiornamenti e le nuove funzionalità per Oracle Databaseconnector:
| Update | Description |
|---|---|
| Ottobre 2018 | Supporta la stored procedure Oracle. |
| gennaio 2018 | Supporta la visualizzazione Oracle come tabella di sola lettura. |
Prerequisiti
Versioni di Oracle supportate:
- Oracle 9 e versioni successive
- Oracle Data Access Client (ODAC) 11.2 e versioni successive
Per connettersi a un database Oracle locale o a una macchina virtuale di Azure con Oracle Database installato, è necessario installare il gateway dati locale.
Questo gateway funge da bridge e fornisce un trasferimento sicuro dei dati tra i dati locali e l'app o il client. È possibile usare la stessa installazione del gateway con più servizi e origini dati, il che significa che potrebbe essere necessario installare il gateway una sola volta.
Per Microsoft Power Apps, vedere anche Gestire un gateway dati locale in Power Apps.
Per App per la logica di Azure, è necessario creare anche una risorsa gateway di Azure per l'installazione del gateway prima di poter usare il connettore. Per altre informazioni, vedere Connettersi ai dati locali dalle app per la logica.
Installare il client Oracle nel computer in cui è stato installato il gateway dati locale. Assicurarsi di installare il provider di dati Oracle a 64 bit per .NET da Oracle e selezionare la versione del programma di installazione di Windows perché la
xcopyversione non funziona con il gateway dati locale: ODAC 12c Release 4 a 64 bit (12.1.0.2.4) per Windows x64. È possibile verificare l'installazione eseguendo il comando di PowerShell seguente:[System.Data.Common.DbProviderFactories]::GetFactoryClasses(). Se è installato un client Oracle, nei risultati dovrebbe essere visualizzato "OracleClient Data Provider".Annotazioni
Se il client Oracle non è installato, si verifica un errore quando si tenta di creare o usare la connessione. Per altre informazioni, vedere la sezione Errori di connessione comuni.
Prima di eseguire qualsiasi operazione del connettore, nel client Oracle impostare la variabile di ambiente denominata ORA_NCHAR_LITERAL_REPLACE su TRUE.
Questa impostazione abilita la sostituzione dei valori letterali stringa NCHAR, che impedisce la perdita di dati quando i valori letterali stringa contenenti caratteri oltre il set di caratteri del database vengono inseriti nella colonna di tipo NCHAR/NVARCHAR/NCLOB . Quando l'istruzione viene eseguita, i valori letterali stringa vengono convertiti in un formato interno e vengono quindi decodificati correttamente in Unicode.
Problemi noti e limitazioni
L'elenco seguente descrive alcune limitazioni note per il connettore Oracle Datbase:
Non supportato:
- Qualsiasi tabella con chiavi composite
- Tipi di oggetti annidati nelle tabelle
- Funzioni di database con valori non scalari
- Funzioni Oracle in modo che non siano elencate nell'interfaccia utente.
Quando si richiama una stored procedure in un server Oracle, si applicano le limitazioni seguenti:
- I parametri OUT non sono supportati.
- Il valore restituito non è disponibile perché la stored procedure non restituisce alcun risultato.
Il limite di dimensioni della risposta è 8 MB.
Il limite di dimensioni della richiesta è 2 MB.
La query nativa Oracle è supportata con le limitazioni seguenti:
- Richiede la versione del gateway 3000.63.4 (versione di ottobre) o successiva.
- RefCursor non è supportato.
- I parametri OUT non sono supportati.
- È possibile restituire un solo set di risultati.
I tipi di dati seguenti non possono essere usati come predicati delle opzioni di query:
- DATTERO
- TIMESTAMP
- TIMESTAMP con fuso orario
- TIMESTAMP con fuso orario locale
Se una query Oracle o un tempo di esecuzione della stored procedure supera i 110 secondi, si verifica il timeout dell'azione.
L'inserimento e l'aggiornamento a una tabella non restituiscono l'elemento completo. Restituiscono solo le proprietà di input per l'operazione.
Per ottenere risultati di paging deterministici per l'operazione Recupera righe , è necessaria una chiave primaria.
Per l'operazione Inserisci riga è necessario specificare un valore esplicito per la colonna Chiave primaria, anche se è definito il valore predefinito/automatico.
A causa delle limitazioni dei componenti dell'interfaccia utente, l'elenco delle tabelle di cui è stato eseguito il rendering durante la fase di progettazione non può visualizzare più di 2.048 elementi, ovvero le dimensioni di pagina predefinite per l'operazione Get tables , ad esempio:
- Elenco di tabelle per il parametro di azione Recupera righe denominato 'Nome tabella'.
- Elenco di tabelle per il flusso "Crea connessione/Scegli una tabella" nella finestra di progettazione di Power Apps.
Se si osserva la latenza durante l'utilizzo del database Oracle, installare la versione più recente di Oracle Data Access Components (ODAC) a 64 bit nel computer gateway o in ogni computer gateway, se il gateway è un cluster.
Se la creazione della connessione Oracle non riesce con un timeout, provare a usare credenziali Oracle con autorizzazioni minime. In questo modo, la connessione è più leggera, che può aiutare a evitare di riscontrare il timeout durante la creazione della connessione.
Errori di connessione comuni
Errore: Impossibile raggiungere il gateway
Causa: il gateway dati locale non può connettersi al cloud.
Mitigazione: assicurarsi che il gateway sia in esecuzione nel computer locale in cui è stato installato il gateway e che disponga della connettività Internet. Evitare di installare il gateway in un computer che potrebbe essere disattivato 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". Vedere https://go.microsoft.com/fwlink/p/?LinkID=272376 per installare il provider ufficiale.
Causa: Oracle Client SDK non è installato nel computer in cui è in esecuzione il gateway dati locale.
Soluzione: scaricare e installare Oracle Client SDK nello stesso computer del gateway dati locale.
Errore: la tabella '[Tablename]' non definisce colonne 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.
Limiti generali
| Nome | Value |
|---|---|
| Numero massimo di richieste elaborate dal connettore contemporaneamente per ogni connessione | 200 |
| Numero massimo di megabyte trasferiti tramite il connettore contemporaneamente per ogni connessione | 30 |
Creazione di una connessione
Il connettore supporta i tipi di autenticazione seguenti:
| Predefinita | Parametri per la creazione della connessione. | Tutte le aree geografiche | Condivisibile |
Predefinito
Applicabile: tutte le aree
Parametri per la creazione della connessione.
Si tratta di una connessione condivisibile. Se l'app per l'alimentazione viene condivisa con un altro utente, anche la connessione viene condivisa. Per altre informazioni, vedere Panoramica dei connettori per le app canvas - Power Apps | Microsoft Docs
| Nome | TIPO | Description | Obbligatorio |
|---|---|---|---|
| Servidor | corda | Specificare Oracle Server. Se è necessaria una porta o un SID, specificare nel formato NomeServer:Porta/SID. | Vero |
| Tipo di autenticazione [Select Basic] | corda | Tipo di autenticazione per la connessione al database | |
| Nome utente | securestring | Credenziali del nome utente | Vero |
| Parola chiave | securestring | Credenziali password | Vero |
| Gateway | gatewaySetting | Gateway locale (vedere https://docs.microsoft.com/data-integration/gateway per altri dettagli | Vero |
Limiti per la limitazione delle richieste
| Nome | Chiamate | Periodo di rinnovo |
|---|---|---|
| Chiamate API per connessione | 1500 | 60 secondi |
Azioni
| Aggiorna riga |
Questa operazione aggiorna una riga esistente in una tabella. |
| Elimina riga |
Questa operazione elimina una riga da una tabella. |
| Eseguire una query Oracle |
Eseguire una query Oracle |
| Eseguire una stored procedure |
Questa operazione esegue una stored procedure. |
| Inserisci riga |
Questa operazione inserisce una nuova riga in una tabella. |
| Ottenere righe |
Questa operazione ottiene righe da una tabella. |
| Ottenere tabelle |
Questa operazione ottiene tabelle da un database. |
| Ottenere una riga |
Questa operazione ottiene una riga da una tabella. |
Aggiorna riga
Questa operazione aggiorna una riga esistente in una tabella.
Parametri
| Nome | Chiave | Necessario | Tipo | Descrizione |
|---|---|---|---|---|
|
Nome della tabella
|
table | True | string |
Nome della tabella |
|
ID riga
|
id | True | string |
Identificatore univoco della riga da aggiornare |
|
Riga
|
item | True | dynamic |
Riga con valori aggiornati |
Restituisce
Elimina riga
Questa operazione elimina una riga da una tabella.
Parametri
| Nome | Chiave | Necessario | Tipo | Descrizione |
|---|---|---|---|---|
|
Nome della tabella
|
table | True | string |
Nome della tabella |
|
ID riga
|
id | True | string |
Identificatore univoco della riga da eliminare |
Eseguire una query Oracle
Eseguire una query Oracle
Parametri
| Nome | Chiave | Necessario | Tipo | Descrizione |
|---|---|---|---|---|
|
Query
|
query | True | dynamic |
corpo della query |
Restituisce
Eseguire una stored procedure
Questa operazione esegue una stored procedure.
Parametri
| Nome | Chiave | Necessario | Tipo | Descrizione |
|---|---|---|---|---|
|
Nome procedura
|
procedure | True | string |
Nome della stored procedure |
|
Elenco di parametri
|
parameters | True | dynamic |
Parametri di input per la stored procedure |
Restituisce
Inserisci riga
Questa operazione inserisce una nuova riga in una tabella.
Parametri
| Nome | Chiave | Necessario | Tipo | Descrizione |
|---|---|---|---|---|
|
Nome della tabella
|
table | True | string |
Nome della tabella |
|
Riga
|
item | True | dynamic |
Riga da inserire nella tabella specificata |
Restituisce
Ottenere righe
Questa operazione ottiene righe da una tabella.
Parametri
| Nome | Chiave | Necessario | Tipo | Descrizione |
|---|---|---|---|---|
|
Nome della tabella
|
table | True | string |
Nome della tabella Oracle |
|
Query di filtro
|
$filter | string |
Query di filtro ODATA per limitare le voci restituite, ad esempio stringColumn eq 'string' OR numberColumn lt 123. |
|
|
Ordina per
|
$orderby | string |
Query ODATA orderBy per specificare l'ordine delle voci. |
|
|
Conteggio superiore
|
$top | integer |
Numero totale di voci da recuperare (impostazione predefinita = all). |
|
|
Ignora conteggio
|
$skip | integer |
Numero di voci da ignorare (valore predefinito = 0). |
|
|
Selezionare query
|
$select | string |
Campi specifici da recuperare dalle voci (impostazione predefinita = all). |
Restituisce
Ottenere tabelle
Questa operazione ottiene tabelle da un database.
Restituisce
Rappresenta un elenco di tabelle.
- Corpo
- TablesList
Ottenere una riga
Questa operazione ottiene una riga da una tabella.
Parametri
| Nome | Chiave | Necessario | Tipo | Descrizione |
|---|---|---|---|---|
|
Nome della tabella
|
table | True | string |
Nome della tabella Oracle |
|
ID riga
|
id | True | string |
Identificatore univoco della riga da recuperare |
Restituisce
Definizioni
Tabella
Rappresenta una tabella.
| Nome | Percorso | Tipo | Descrizione |
|---|---|---|---|
|
Nome
|
Name | string |
Nome della tabella. Il nome viene usato in fase di esecuzione. |
|
Nome visualizzato
|
DisplayName | string |
Nome visualizzato della tabella. |
|
Proprietà dinamiche
|
DynamicProperties | object |
Proprietà aggiuntive della tabella fornite dal connettore ai client. |
TablesList
Rappresenta un elenco di tabelle.
| Nome | Percorso | Tipo | Descrizione |
|---|---|---|---|
|
value
|
value | array of Table |
Elenco di tabelle |