Ho installato entrambi i driver Oracle 11g a 32 e 64 bit. Cerco il mio PC alla ricerca di file con il nome "tnsnames.ora" e ho trovato 3 nei seguenti luoghi:Determinazione della posizione del file tnsnames.ora rilevante
1. C:\Oracle\product\11203_32bit\CLIENT_1\NETWORK\ADMIN
2. C:\Oracle\product\11203_64bit\CLIENT_1\NETWORK\ADMIN
3. C:\Windows\TNS
L'esistenza del 3 ° posizione del file tnsnames.ora mi sorprende.
ho i seguenti client Oracle installato sul mio PC:
"C:\Program Files (x86)\Quest Software\Toad for Oracle 11.6\Toad.exe"
"C:\Program Files\Devart\dbForge Studio Express for Oracle\dbforgeoracle.exe"
In base alla posizione di ciascun programma (Program Files (x86) vs. c: \ Program Files), questo mi fa pensare che la Toad, un programma a 32 bit, dovrebbe usare il driver a 32 bit e dbForge dovrebbe usare il driver a 64 bit.
dbForge sembra utilizzare il file tnsnames.ora in entrambe le posizioni # 2 o # 3. Lo so rinominando sistematicamente tutti tranne uno dei file tns e poi controllando se i nomi delle connessioni letti dal file sono disponibili quando si tenta di creare una nuova connessione con l'app.
Tuttavia, TOAD sembra riconoscere solo il file tnsnames.ora nella posizione n. 3 e non ha riconosciuto il file tnsnames.ora nella posizione 2! (Essendo che era un programma a 32 bit, non mi aspettavo che riconoscesse il file tns nella posizione 2 e questo era il caso). Per riassumere il test TOAD per motivi di chiarezza, TOAD ha riconosciuto solo il file tns nella posizione 3.
Altri colleghi non hanno un file tns nella posizione 3 sulle proprie macchine. Non sono sicuro del motivo per cui lo faccio. Quando eseguo Toad, mostra la seguente Home 2, con la Home page 32 bit come attiva.
OraClient11g_home1 (11.2.0.3)
ORACLE_HOME:C:\app\C39293\product\11.2.0\client_1
ORACLE_HOME_NAME:OraClient11g_home1
ORACLE_HOME_KEY:HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraClient11g_home1
ORACLE_SID:
NLS_LANG:AMERICAN_AMERICA.WE8MSWIN1252
SQLPATH:
LOCAL:
Client DLL:C:\app\C39293\product\11.2.0\client_1\oci.dll
TNSNames.ora:
SQLNet.ora:
LDAP.ora:
Login.sql:
GLogin.sql:
In system PATH:No
Home is valid:No
OraClient11g_home1_32bit (11.2.0.3)
ORACLE_HOME:c:\oracle\product\11203_32bit\CLIENT_1
ORACLE_HOME_NAME:OraClient11g_home1_32bit
ORACLE_HOME_KEY:HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraClient11g_home1_32bit
ORACLE_SID:
NLS_LANG:AMERICAN_AMERICA.WE8MSWIN1252
SQLPATH:c:\oracle\product\11203_32bit\CLIENT_1\dbs
LOCAL:
Client DLL:c:\oracle\product\11203_32bit\CLIENT_1\bin\oci.dll
TNSNames.ora:
SQLNet.ora:
LDAP.ora:
Login.sql:
GLogin.sql:c:\oracle\product\11203_32bit\CLIENT_1\sqlplus\admin\glogin.sql
In system PATH:Yes
Q1: è OraClient11g_home1 mio 64 bit di casa o devo due clienti Oracle installato?
Q2: Perché TOAD a 32 bit non usa il tns nella posizione n. 1 invece di utilizzare solo quello in posizione n. 3?
Q3: Se lascio sul file TNS in posizione 3, sia dbForge e il lavoro ROSPO ma mi piacerebbe sapere perché così posso accuratamente capire come muoversi TNS informazioni da una macchina all'altra.
In realtà, sembra che tu abbia tre case. Toad ne trova due e sembra che probabilmente hai installato anche 64 bit. –
Sì, quando apro una finestra di cmnd e digito echo% TNS_ADMIN%, visualizza C: \ Windows \ TNS. Quindi, sembra come se avessi questa variabile d'ambiente di cui prima non ero a conoscenza. Questo sembra essere il bit mancante di informazioni di cui avevo bisogno. Grazie. – ChadD
'HKEY_LOCAL_MACHINE \ Software \ Oracle' è per x64 Oracle Client. Ricerche client a 32 bit in 'HKEY_LOCAL_MACHINE \ Software \ Wow6432Node \ Oracle' –