2010-04-03 11 views
2

Cela a pris beaucoup d'heures de mine. Je dois obtenir cette application .Net pour fonctionner sur un système XP. Quelqu'un semble avoir foiré certains fichiers si conn.Open() dans le C# est à l'origine de cette erreur:Erreur de connexion: Oracle.DataAccess.Client.OracleException ORA-12170

Connection Error:Oracle.DataAccess.Client.OracleException ORA-12170: 
TNS:Connect timeout occurred at Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection 
conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure) at 
Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, 
IntPtr opsErrCtx, Object src) at Oracle.DataAccess.Client.OracleConnection.Open() at 
Service.connect(Int32 sql_choice, String databaseIdentifier, String authenticationKey) in 
c:\Documents .... 

Ceci est mon fichier sqlnet.ora:

# sqlnet.ora Network Configuration File: C:\oracle\product\10.2.0\db_1\network\admin\sqlnet.ora 

SQLNET.AUTHENTICATION_SERVICES= (NTS) 

NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT) 

SQLNET.INBOUND_CONNECT_TIMEOUT = 180 
SQLNET.SEND_TIMEOUT = 180 
SQLNET.RECV_TIMEOUT = 180 

C'est tnsnames.ora:

# tnsnames.ora Network Configuration File: C:\oracle\product\10.2.0\db_1\network\admin\tnsnames.ora 
# Generated by Oracle configuration tools. 

ORACLE2 = 
    (DESCRIPTION = 
    (ADDRESS = (PROTOCOL = TCP)(HOST = dell)(PORT = 1521)) 
    (CONNECT_DATA = 
     (SERVER = DEDICATED) 
     (SERVICE_NAME = oracle2) 
    ) 
) 

ORCL = 
    (DESCRIPTION = 
    (ADDRESS = (PROTOCOL = TCP)(HOST = dell)(PORT = 1521)) 
    (CONNECT_DATA = 
     (SERVER = DEDICATED) 
     (SERVICE_NAME = orcl) 
    ) 
) 

EXTPROC_CONNECTION_DATA = 
    (DESCRIPTION = 
    (ADDRESS_LIST = 
     (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) 
    ) 
    (CONNECT_DATA = 
     (SID = PLSExtProc) 
     (PRESENTATION = RO) 
    ) 
) 

C'est listener.ora:

# listener.ora Network Configuration File: C:\oracle\product\10.2.0\db_1\network\admin\listener.ora 
# Generated by Oracle configuration tools. 

SID_LIST_LISTENER = 
    (SID_LIST = 
    (SID_DESC = 
     (SID_NAME = PLSExtProc) 
     (ORACLE_HOME = C:\oracle\product\10.2.0\db_1) 
     (PROGRAM = extproc) 
    ) 
) 

LISTENER = 
    (DESCRIPTION_LIST = 
    (DESCRIPTION = 
     (ADDRESS = (PROTOCOL = TCP)(HOST = dell )(PORT = 1521)) 
    ) 
) 

J'ai essayé de changer le nom d'hôte en localhost, 127.0.0.1 mais cela ne fonctionne pas. En outre,

  • Je peux exécuter des requêtes à partir de SQL Plus.
  • Il n'y a AUCUN pare-feu sur le système
  • L'application .Net et la base de données sont sur la même machine.
+0

Quelle version d'ODP.NET avez-vous installée? Quelle version de bit? Quelle est la version binaire de votre application? –

Répondre

0

Un similar SO question a été résolu lorsqu'il a été déterminé que la base de données était installée sur un boîtier Windows à l'aide de DHCP. Comme je l'ai dit dans cette réponse, l'adaptateur Microsoft Loopback doit être installé si vous utilisez DHCP sur un boîtier Windows avec Oracle.