1

我需要从我的 .Net 应用程序连接到 oracle。

我正在考虑使用ODP.NET

有没有办法在不依赖tnsnames.ora文件的情况下连接到 Oracle?我问的原因是因为我将有数百个不同的连接,我不想依赖那个文件。

4

1 回答 1

6

是的,如果您使用包含tnsname.ora.


假设您的 tnsname 条目如下所示:

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

而不是YourTnsName在连接字符串中使用,你可以这样写:

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

因此不需要进入tnsname.ora

于 2012-08-28T12:37:42.510 回答