Oracle
 sql >> Database >  >> RDS >> Oracle

Connettiti a Oracle senza tnsname.ora

Sì, se utilizzi una stringa di connessione che contiene i dati di tnsname.ora .

Supponiamo che la tua voce tnsname sia simile a questa:

 YourTnsName =  
  (DESCRIPTION =  
    (ADDRESS_LIST =  
      (ADDRESS = (PROTOCOL = TCP)(HOST = YourHost)(PORT = 1521))  
    )  
    (CONNECT_DATA =  
      (SID  = YourSid)  
    )  
  )  

invece di usare YourTnsName nella stringa di connessione, puoi scriverla in questo modo:

var constr = new OracleConnectionStringBuilder()
             {
                DataSource = @"(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = YourHost)(PORT = 1521)))(CONNECT_DATA =(SID  = YourSid)))",
                UserID = "userid",
                Password = "password",
             }.ConnectionString;

using (var con = new OracleConnection(constr))
{ 
    ... 
}

quindi nessuna voce in tnsname.ora è necessario.