我需要从我的.Net应用程序连接到oracle。
我正在考虑使用ODP.NET
有没有办法连接到Oracle而不依赖tnsnames.ora
文件?我问的原因是因为我将有数百个不同的连接,我不想依赖该文件。
答案 0 :(得分:5)
是的,如果您使用包含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
中的条目。