【发布时间】:2019-03-28 01:42:05
【问题描述】:
我正在尝试将使用 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:could not resolve the connect identifier specified。我不确定我配置不正确,因为它没有提供太多信息。
需要注意的一点是,该解决方案由一个带有 web.config 的 MVC 项目和一个处理数据库访问的类库组成。对Oracle.ManagedDataAccess 的引用在类库中。我尝试将 Oracle 配置部分(及其 configSection)放入 web.config、app.config 和两者中,但这些设置都不起作用。
【问题讨论】:
标签: c# oracle oracle-manageddataaccess