我需要从我的 .Net 应用程序连接到 oracle。
我正在考虑使用ODP.NET
有没有办法在不依赖tnsnames.ora
文件的情况下连接到 Oracle?我问的原因是因为我将有数百个不同的连接,我不想依赖那个文件。
是的,如果您使用包含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
。