Qual è esattamente l'affare con gli identificativi di connessione oracle separati da un punto

StackOverflow https://stackoverflow.com/questions/241361

  •  04-07-2019
  •  | 
  •  

Domanda

Me lo stavo chiedendo da un po ', ma dato che non è emerso molto, l'ho lasciato nella colonna "misterioso mago".

Mi sembra che ci sia una sorta di relazione tra un identificatore di connessione come ABC e ABC.DEFG e non capisco esattamente cosa sia.

Ad esempio, una macchina che stavo installando proprio ora stavo avendo problemi con l'uso dell'identificatore ED2 anche se nel mio file tnsnames avevo chiaramente

EDC2 = (....)

Questo è stato copiato e incollato da un altro computer che ha funzionato bene. Tuttavia, fare tnsping EDC2 non riuscirebbe a risolversi finché non lo avessi cambiato per dire

EDC2.WORLD = (...)

a quel punto la risoluzione su EDC2 ha iniziato a funzionare. Cosa sta succedendo qui?

È stato utile?

Soluzione

L'alias TNS nel file tnsnames.ora interagisce con il parametro

NAMES.DEFAULT_DOMAIN

nel file sqlnet.ora. Se NAMES.DEFAULT_DOMAIN è impostato su WORLD, ad esempio, quando si tenta di connettersi a un alias senza dominio, il file sqlnet.ora dice a Oracle di aggiungere automaticamente il dominio prima di eseguire la ricerca nel file tnsnames.ora. Se si tenta di connettersi a un alias con un dominio, NAMES.DEFAULT_DOMAIN viene ignorato.

La mia preferenza / suggerimento generale è di impostare NAMES.DEFAULT_DOMAIN su WORLD in sqlnet.ora e specificare EDC2.WORLD nel file tnsnames.ora. In questo modo, sia l'identificatore di connessione EDC2 che EDC2.WORLD funzioneranno-- il primo viene modificato nel secondo a causa del parametro DEFAULT_DOMAIN .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top