KNOWLEDGE BASE

Errore "ORA-12154" durante la connessione a Oracle quando TNSNames.ora non è in uso


Pubblicato: 01 Aug 2014
Data dell'ultima modifica: 19 Oct 2020

Problema

Quando crei una nuova connessione in un database Oracle o cerchi di aprire una cartella di lavoro pubblicata connessa a un database Oracle in cui i tre parametri di connessione (Server, Service e Port) sono stati configurati durante la connessione iniziale, potrebbe verificarsi il seguente errore:

Oracle database error 12154: ORA-12154: TNS:could not resolve the connect identifier specified (Errore database Oracle 12154: ORA-12154: TNS:impossibile risolvere l'identificatore di connessione specificato)

Quando cerchi di connettere lo stesso database Oracle utilizzando il nome del servizio dal file TNSNames.ora nel parametro Server, lasciando vuoti i due parametri restanti, la connessione avviene correttamente.

Ambiente

  • Tableau Server
  • Tableau Desktop
  • Oracle

Soluzione

Opzione 1:

Rivolgiti all'amministratore del database Oracle per consentire il tipo di connessione HOSTNAME per il client Oracle sul computer su cui è in esecuzione Tableau Desktop o Tableau Server.

Opzione 2:

La seguente soluzione alternativa può consentire il tipo di connessione HOSTNAME:

  1. Sul computer su cui è in esecuzione Tableau Desktop o Tableau Server, trova il file sqlnet.ora. La cartella contenente il file deve essere specificata nella variabile TNS_ADMIN e deve contenere anche il file TNSNames.ora. Per ulteriori informazioni, vedi "Set the TNS_Admin environment variable" (Configurazione della variabile di ambiente TNS_Admin) in Setting an Oracle Connection to Use TNSNames.ora (Configurazione di una connessione Oracle per l'uso di TNSNames.ora) e Sqlnet.ora nelle domande frequenti di Oracle.
    Nota: se questa cartella non contiene un file sqlnet.ora, crealo.
  2. Nel file sqlnet.ora, modifica la riga NAMES.DIRECTORY_PATH in modo che risulti come la seguente oppure aggiungi la riga riportata di seguito al file sqlnet.ora: 
    NAMES.DIRECTORY_PATH= (LDAP, TNSNAMES, HOSTNAME)
Nota: se questo problema si verifica in un ambiente distribuito Tableau Server, esegui i passaggi sopra riportati su tutti i computer nell'installazione Tableau Server.

Causa

Il file sqlnet.ora non consente al driver Oracle di cercare il database utilizzando tutti e tre i parametri di connessione.
Con questo articolo hai risolto il problema?