C# Oracle.ManagedDataAccess TNS_管理员设置(按环境变量)
我正在尝试将使用Oracle.ManagedDataAccess库的解决方案配置为使用TNS名称,如下所示:C# Oracle.ManagedDataAccess TNS_管理员设置(按环境变量),c#,oracle,C#,Oracle,我正在尝试将使用Oracle.ManagedDataAccess库的解决方案配置为使用TNS名称,如下所示: <oracle.manageddataaccess.client> <version number="*"> <settings> <setting name="TNS_ADMIN" value="C:\oracle\TNS" /> </settings> </ve
<oracle.manageddataaccess.client>
<version number="*">
<settings>
<setting name="TNS_ADMIN" value="C:\oracle\TNS" />
</settings>
</version>
</oracle.manageddataaccess.client>
</configuration>
可以在运行时通过代码从环境变量设置TNS_ADMIN path值
谢谢。我们做了与您的问题类似的事情。以下是我的解决方案:
internal static OracleDatabase ServerConnection()
{
try
{
string connectionString = TNSORA.TnsNames();
OracleConnection connection = new OracleConnection(connectionString);
OracleDatabase oracleDatabase = new OracleDatabase(connection);
return oracleDatabase;
}
catch {return null;}
}
internal static string TnsNames()
{
//TODO get your TNS from your environment variable, if you have more you have to select by code which is the correct one
}
只需从.NET配置文件中删除该设置。ODP.NET托管驱动程序将自动使用
TNS\u ADMIN
环境设置中的当前值
请注意,这与Oracle文档相矛盾,但它仍然有效。另见