Soluzione
Spesso è possibile risolvere la maggior parte dei problemi di connessione Oracle correggendo il route, denominando la sintassi nella finestra di dialogo Connessione Oracle avanzata o utilizzando il nome del database .WORLD completo. Se l'errore di connessione ricevuto richiede una risoluzione dei problemi più approfondita, fai riferimento ai cinque errori di connessione comuni elencati sotto.
- ORA-03113: end-of-file on communication channel
- ORA-12154: TNS: could not resolve the connect identifier specified: HOST value incorrect or Global name incorrect or unknown
- ORA-12514: TNS listener does not currently know of service requested in connect descriptor: SERVICE value incorrect
- ORA-12541: TNS: no listener: PORT value incorrect
- ORA-00932: inconsistent data types
ORA-03113: end-of-file on communication channel
ORA-03113 è un errore di tipo generico per qualsiasi problema di interruzione di una sessione Oracle. Le cause di questo errore possono essere di varia natura. Fai riferimento all'elenco riportato sotto per alcune linee guida sulla risoluzione dei problemi.
- Fai riferimento alla documentazione di Oracle specifica per questo errore: My Oracle Support.
- Oracle consiglia di controllare i problemi di rete e rivedere la configurazione di SQL*Net.
- Se stai effettuando la connessione a Oracle 9.2.0.5, in molti casi la causa principale di questo errore è il bug Oracle 3010227. Chiedi all'amministratore database di Oracle di applicare la patch Oracle 9.2.0.6 o un'altra patch appropriata per il tuo server.
- Imposta il parametro di inizializzazione di Oracle 'STAR_TRANSFORMATION_ENABLED' su FALSO.
- Prova a modificare l'ora pianificata per l'aggiornamento dell'estrazione
- In alternativa, se desideri testare ulteriormente questo problema, segui la procedura opzionale indicata sotto.
Passaggio 1
Nella pagina iniziale di Tableau Desktop, seleziona Connetti ai dati.
Passaggio 2
Nella pagina Connetti, fai clic su Oracle, quindi fai clic su OK.
Per ulteriori informazioni sui passaggi di connessione, fai riferimento all'argomento Database Oracle nella Guida di Desktop.
Passaggio 3
- Nell'area di join, passa il puntatore sulla tabella SQL personalizzato fino a quando non è visualizzata l'icona di modifica, quindi fai clic su di essa.
- Copia la query nella finestra di dialogo Modifica SQL personalizzato.
SELECT "NumericBins", "Key" as "Key",
"NumericBins", "Measure E-2" AS "Measure E-2",
"NumericBins", "Measure E-1" AS "Measure E-1".
"NumericBins", "Measure E+0" AS "Measure E+0",
"NumericBins", "Measure E+1" AS "Measure E+1",
"NumericBins", "Measure E+4" AS "Measure E+4",
"NumericBins", "Measure E+7" AS "Measure E+7"
FROM "TestV1", "NumericBins" "NumericBins"
Dove "TestV1" è il nome della connessione in Tableau.
Passaggio 4
In una sessione SQL connessa a questo database, incolla ed esegui la query. La risposta prevista è l'errore ORA-7445: exception encountered: core dump (riscontrata eccezione: core dump), a conferma che il problema è ORA-3113, come previsto.
ORA-12154: TNS: could not resolve the connect identifier specified
ORA-12154 si verifica quando il sottostrato di rete trasparente (TNS) non è in grado di risolvere il nome del servizio. Il nome del servizio è specificato nel file TNSNames.ora, ubicato nella cartella %ORACLE_HOME%\network\admin\. Il più delle volte, questo errore si verifica quando le informazioni nel file TNSNames.ora sono errate. Ad esempio:
- L'estensione .world non è inclusa nel nome del database.
- La variabile SERVICE_NAME o HOST è errata.
Per risolvere questo problema, prova una delle tre opzioni di risoluzione dei problemi seguenti, nell'ordine indicato sotto.
Opzione 1: Modifica TNSNames.ora
Specifica il nome database completo, inclusa l'estensione .world in entrambe le ubicazioni seguenti:
- File TNSNames.ora.
e
- Casella di testo Server della pagina Connetti.
Opzione 2: Assicurati che l'account utente Esegui come di Tableau Server disponga delle autorizzazioni a TNSNames.ora (solo Tableau Server)
Se Tableau Server è installato, completa la procedura riportata sotto per assicurarti che l'account utente Esegui come di Tableau Server disponga delle autorizzazioni alla posizione del file TNSNames.ora. Se l'account utente Esegui come non dispone delle autorizzazioni, Tableau Server non è in grado di accedere ai dettagli dell'origine dati di Oracle.
Passaggio 1
Verifica sul computer l'ubicazione del file TNSNames.ora o degli equivalenti SQLNET.ora e LDAP.ora.
Nota: per impostazione predefinita, il file TNSNames.ora risiede nella directory <directory-oracle>\network\admin. Ad esempio, C:\Client_Oracle\network\admin.
Passaggio 2
Conferma che la variabile TNS_ADMIN punta alla posizione del o dei file descritti al passaggio 1.
Nota: per selezionare la variabile TNS_ADMIN, fai clic sul pulsante Avvio e seleziona Pannello di controllo > Sistema. Seleziona Impostazioni di sistema avanzate, fai clic sulla scheda Avanzate , quindi fai clic sul pulsante Variabili di ambiente.
Il percorso del file della variabile di sistema deve essere in formato UNC.
Passaggio 3
Apri TSM in un browser: https://<tsm-computer-name>:8850. Per maggiori informazioni, consulta Accedere all'interfaccia utente Web di Tableau Services Manager.
Passaggio 4
Fai clic sulla scheda Sicurezza e quindi fai clic sulla scheda Account servizio Esegui come.
In Server utente Esegui come, copia le informazioni nel campo Nome utente.
Passaggio 5
Vai alla cartella in cui risiede il file TNSNames.ora.
Passaggio 6
Fai clic con il pulsante destro del mouse sulla cartella e seleziona Proprietà. Seleziona la scheda Sicurezza e fai clic sul pulsante Modifica.
Passaggio 7
In Gruppo o Nomi utenti, fai clic sul pulsante Aggiungi.
Passaggio 8
Nella casella di testo Immetti i nomi oggetto da selezionare, incolla i dettagli dell'account utente Esegui come copiati al passaggio 6.
Passaggio 9
Al termine, fai clic su OK.
Passaggio 10
Nell'area Autorizzazioni, assicurati che le caselle di controllo Controllo completo e Modifica siano selezionate.
Passaggio 11
Fai clic su OK per chiudere le finestre di dialogo.
Opzione 3: Verifica che tutte le informazioni nel file TNSNames.ora siano corrette
Se la procedura di risoluzione dei problemi riportata sopra non risolve il problema, continua a leggere e completa la procedura per verificare che le altre informazioni contenute nel file TNSNames.ora siano corrette.
Di seguito è riportato un esempio di file TNSNames.ora:
QAORCL10.world =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = MY_HOST_NAME)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = MY_SERVICE_NAME)
)
)
Le tre variabili di tuo interesse nel file sono HOST, PORT e SERVICE_NAME. Copia queste variabili dal file TNSNames.ora e mantienile disponibili. Queste variabili applicano la distinzione tra maiuscole e minuscole. Nei seguenti passaggi è descritto come fornire tali variabili per la connessione.
Passaggio 1
Nella pagina iniziale di Tableau Desktop, seleziona Connetti ai dati.
Passaggio 2
Nella pagina Connetti, fai clic su Oracle.
Passaggio 3
Fornisci le seguenti informazioni provenienti dal file TNSNames.ora:
- Nella casella di testo Nome server, digita il nome HOST.
- Nella casella di testo Servizio, digita il SERVICE_NAME.
- Nella casella di testo Porta, digita il numero di PORT.
- Specifica se utilizzare l'autenticazione di Windows o un nome utente e una password specifici, quindi fai clic su Connect.
Nota: le variabili applicano la distinzione tra maiuscole e minuscole.
Passaggio 4
Seleziona uno schema dall'elenco a discesa Schema, trascina una tabella nell'area di join, quindi fai clic su Vai a foglio di lavoro.
Passaggio 5
Completa la procedura indicata nell'articolo Impostazione di una connessione Oracle per l'utilizzo di TNSNames.ora o LDAP.ora.
Importante:
- Assicurati di salvare il file TNSNames.ora utilizzato nella codifica ASCII. Qualsiasi altra codifica all'infuori di ASCII, ad esempio UTF-8 o Unicode, genera il messaggio di errore ORA-12154.
- Di norma questi passaggi sono necessari anche se hai già installato il software Oracle sul computer.
Passaggio 6
Scarica e installa i driver di Oracle appropriati dalla pagina dei driver di Tableau. Anche se sul computer hai installato un driver di Oracle, questo potrebbe essere incompatibile con Tableau e verrà richiesta la versione specificata nella pagina dei driver.
ORA-12514: TNS listener does not currently know of service requested in connect descriptor
Di norma, questo errore si verifica quando il valore di SERVICE è errato.
Per risolvere questo problema, trova il valore corretto di SERVICE, apri il file TNSNames.ora ubicato nella cartella %ORACLE_HOME%\network\admin\. Fai riferimento alla procedura in ORA_12154 se necessario.
ORA-12541: TNS: no listener
Di norma, questo errore si verifica quando il valore di PORT è errato.
Per risolvere il problema, sostituisci il valore di PORT con 1521 o 1526. Prova il valore che attualmente non è in uso.
ORA-00932: inconsistent data types
Questo errore si verifica durante la connessione a Oracle o durante la creazione di un'estrazione da un'origine dati Oracle. Di norma, questo errore è causato dall'installazione di driver Oracle errati.
Per risolvere questo problema, installa i driver Oracle corretti dalla pagina dei driver della versione di Tableau in uso.
Oltre agli errori comuni sopra citati, se stai usando Tableau Desktop/Server 2020.2 o versioni successive e rilevi dei problemi nelle prestazioni, ad es. l'aggiornamento dei dati estratti richiede molto tempo, puoi provare a scaricare e installare il driver OCI di Oracle. Fai riferimento all'articolo nei Link correlati. Il driver può essere scaricato da qui.