Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Oracle.ManagedDataAccess TNS_管理员设置(按环境变量)_C#_Oracle - Fatal编程技术网

C# 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库的解决方案配置为使用TNS名称,如下所示:

<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文档相矛盾,但它仍然有效。另见