Oracle
 sql >> Base de données >  >> RDS >> Oracle

Connectez-vous à Oracle sans tnsname.ora

Oui, si vous utilisez une chaîne de connexion qui contient les données de tnsname.ora .

Supposons que votre entrée tnsname ressemble à ceci :

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

au lieu d'utiliser YourTnsName dans la chaîne de connexion, vous pouvez l'écrire comme ceci :

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))
{ 
    ... 
}

donc pas d'entrée dans tnsname.ora est nécessaire.