Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.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# Web.Config中的Oracle.ManagedDataAccess TNS_ADMIN_C#_Oracle_Oracle Manageddataaccess - Fatal编程技术网

C# Web.Config中的Oracle.ManagedDataAccess TNS_ADMIN

C# Web.Config中的Oracle.ManagedDataAccess TNS_ADMIN,c#,oracle,oracle-manageddataaccess,C#,Oracle,Oracle Manageddataaccess,我正在尝试配置使用Oracle.ManagedDataAccess库的解决方案,以便在连接字符串中使用TNS名称,而不是显式数据源。在进行任何更改之前,程序工作正常,但我所有配置TNS设置的尝试都失败了 我的TNS文件在本地计算机上,位于C:\oracle\TNS\tnsnames.ora进行开发 我已更新web.config中的连接字符串,以使用TNS文件中的别名: <connectionStrings> <add name="OracleConnectionString

我正在尝试配置使用Oracle.ManagedDataAccess库的解决方案,以便在连接字符串中使用TNS名称,而不是显式数据源。在进行任何更改之前,程序工作正常,但我所有配置TNS设置的尝试都失败了

我的TNS文件在本地计算机上,位于C:\oracle\TNS\tnsnames.ora进行开发

我已更新web.config中的连接字符串,以使用TNS文件中的别名:

<connectionStrings>
  <add name="OracleConnectionString"
      connectionString="Data Source=DEV1;Persist Security Info=True;User ID=myUser;Password=myPassword;"
      providerName="System.Data.OracleClient"/>
</connectionStrings>

还添加了configSection以及库的配置:

<configuration>
  <configSections>
    <section name="oracle.manageddataaccess.client" type="OracleInternal.Common.ODPMSectionHandler, Oracle.ManagedDataAccess, Version=4.121.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342"/>
  </configSections>
  ....
  <oracle.manageddataaccess.client>
    <version number="*">
      <settings>
        <setting name="TNS_ADMIN" value="C:\oracle\TNS\tnsnames.ora" />
      </settings>
    </version>
  </oracle.manageddataaccess.client>
</configuration>

....
当我尝试运行程序时,虽然我得到错误
ORA-12154:TNS:无法解析指定的连接标识符
。我不确定我配置错误的是什么,因为它没有提供太多信息


需要注意的是,该解决方案由一个带有web.config的MVC项目和一个处理数据库访问的类库组成。类库中有对Oracle.ManagedDataAccess的引用。我已尝试将Oracle配置部分(及其configSection)放在web.config和app.config中,但这两种设置都不起作用。

首先,托管Oracle的配置应该放在条目项目的配置文件中。 在您的情况下,我想它应该在“web.config”中

其次,您的TNS_管理员应该是一个文件夹,而不是一个文件,如下所示

  <oracle.manageddataaccess.client>
    <version number="*">
      <settings>
        <setting name="TNS_ADMIN" value="C:\oracle\TNS" /> //****change is here.
      </settings>
    </version>
  </oracle.manageddataaccess.client>
</configuration>

//****零钱来了。

哇,我把文档读了很多遍,每次都没读到。谢谢