Loading

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

Data pubblicazione: Nov 29, 2023
Descrizione
Quando si utilizza una connessione Oracle che è stata creata su un computer che utilizza LDAP, TNSNAMES o EZCONNECT o in cui tutti e tre i parametri di connessione (Server, Servizio e Porta) sono stati configurati durante la connessione iniziale, la connessione non funzionerà più e potrebbe verificarsi il seguente errore:

"Oracle database error 12154: ORA-12154: TNS:could not resolve the connect identifier specified" (Errore del 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.

Questo comportamento può verificarsi in caso di:
  • Condivisione di cartelle di lavoro tra computer che eseguono Tableau Desktop, uno dei quali dispone dei file di configurazione precedenti, mente l'altro non ne dispone.
  • Pubblicazione di una connessione live su Oracle da un computer in cui è in esecuzione Tableau Desktop che utilizza uno dei file di configurazione precedenti in un'istanza di Tableau Server che non lo utilizza. (Se la connessione è pubblicata come un'estrazione, funzionerà, ma non verrà aggiornata).

Cause

Il file sqlnet.ora non consente al driver Oracle di cercare il database utilizzando tutti e tre i parametri di connessione.

Quando TNSNAMES.ora o LDAP.ora sono in uso, consentono di definire le connessioni Oracle e i relativi parametri all'esterno del connettore Tableau. La parte "net_service_name" verrà utilizzata come campo del server, che quando viene immesso insieme alle credenziali recupera il nome del servizio e il numero di porta dal file TNSNAMES/LDAP. I computer che non utilizzano TNSNAMES/LDAP richiedono l'inserimento del nome del servizio e del numero di porta per il corretto funzionamento della connessione. Inoltre, richiedono l'utilizzo di un nome FQDN per il server invece di un nome personalizzato (ad esempio: "oracle.test.tsi.lan" sarebbe l'FQDN, mentre "Oracle_01" potrebbe essere utilizzato come net_service_name)
Risoluzione

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. Includi il nome del servizio e il numero di porta e utilizza il nome di dominio completo (FQDN) nel campo di testo "Server" della finestra di dialogo di connessione.
Risorse aggiuntive
Oracle


Numero articolo Knowledge

001474032

 
Caricamento
Salesforce Help | Article