【问题标题】:ORA-12154: TNS:could not resolve the connect identifier specified (Oracle, ASP,Net, Dapper)ORA-12154: TNS: 无法解析指定的连接标识符(Oracle、ASP、Net、Dapper)
【发布时间】:2014-12-17 15:30:18
【问题描述】:

我在这里或任何地方都找不到确切的问题。

我有一个使用 Oracle.DataAccess 的 ASP.Net MVC WebApi(MVC 5.1.0,Framework 4.5.1)项目。它通过我的 hosts 文件中的 URL 在本地 IIS 服务器上运行。它有一个连接到 Oracle 数据库的连接字符串。它工作正常。

我有一个使用 Oracle.ManagedDataAccess 和 Dapper 的“普通”ASP.Net MVC(MVC 5.2.2,Framework 4.5.2)项目。它通过我的 hosts 文件中的 URL 在本地 IIS 服务器上运行。它使用 SAME 连接字符串(除了 providerName)来(尝试)连接到 Oracle 数据库。它不起作用,扔了

ORA-12154: TNS:could not resolve the connect identifier specified

当我尝试打开连接时。

   <add name="OurName" connectionString="Data Source=xxxxx_migration2;Persist Security Info=True;User ID=OurUserName;Password=thepassword;Enlist=False;Min Pool Size=10;Connection Lifetime=120;Connection Timeout=30;Incr Pool Size=5;Decr Pool Size=2;" providerName="Oracle.ManagedDataAccess.Client"/>

TNSNames.ORA 很好 [正如您认为在另一个项目中工作的完全相同的连接字符串],项目文件路径中没有括号(我在研究中发现了一个非常模糊的问题),ORACLE_HOME是路径...我很难过。

我知道 Dapper 扩展了连接对象 - 它是否有任何非常时髦的奇怪要求可能导致这种情况?

编辑:如果我将“普通”ASP.Net MVC(和连接字符串 providerName 参数)切换到 Oracle.DataAccess,并且不使用 Dapper,我可以连接。

【问题讨论】:

    标签: asp.net-mvc oracle dapper


    【解决方案1】:

    最后,为了使 Oracle.ManagedDataAccess 正常工作,我需要进行比我想象的更多的配置文件更改(Dapper 不是问题)。

    见this blog article

    和接受的答案here

    这有点烦人,与过去的情况不同,必须在配置文件中手动指定 TNSNAMES.ORA 的位置 - 但是,它毕竟是一个配置文件。

    【讨论】:

      【解决方案2】:

      在我的例子中,在 Web.config 文件中,oracle.manageddataaccess.client -> dataSources 标记中,别名错误。一旦改变,它就起作用了。

      【讨论】:

        猜你喜欢
        • 2014-11-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-10-06
        相关资源
        最近更新 更多