首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Oracle.ManagedDataAccess TNS_ADMIN in Web.Config

Oracle.ManagedDataAccess TNS_ADMIN in Web.Config
EN

Stack Overflow用户
提问于 2018-10-23 18:19:43
回答 1查看 4.9K关注 0票数 3

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

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

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

代码语言:javascript
复制
<connectionStrings>
  <add name="OracleConnectionString"
      connectionString="Data Source=DEV1;Persist Security Info=True;User ID=myUser;Password=myPassword;"
      providerName="System.Data.OracleClient"/>
</connectionStrings>

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

代码语言:javascript
复制
<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:could not resolve the connect identifier specified。我不知道我在错误地配置什么,因为它没有提供太多的信息。

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-23 18:39:25

首先,托管oracle的配置应该在条目项目的配置文件中。在你的情况下,我想应该是在"web.config“里

其次,您的TNS_ADMIN应该是一个文件夹,而不是一个文件,如下所示

代码语言:javascript
复制
  <oracle.manageddataaccess.client>
    <version number="*">
      <settings>
        <setting name="TNS_ADMIN" value="C:\oracle\TNS" /> //****change is here.
      </settings>
    </version>
  </oracle.manageddataaccess.client>
</configuration>
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52955474

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档