BizTalk WCF ORA-12154: TNS:could 无法解析指定的连接标识符

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

我有一个 BizTalk 2013r2 应用程序,在 32 位主机下有一个 WCF-Oracle 发送端口 运行ning。

当 运行 在我的测试环境中它工作正常。但是,在我的开发箱上出现以下错误:

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

发送端口设置的地址为"oracledb://test_godw_lincoln/"。我的理解是ip地址和端口应该从本地tnsnames.ora文件中解析出来。我正确设置了 TNS_ADMIN 的系统环境变量:

如果我在命令提示符下输入 "set tns_admin",则会显示以下内容:

TNS_ADMIN=C:\app\biztalk.admin\product.1.0\client_1\Network\Admin

如果我打开文件 "C:\app\biztalk.admin\product.1.0\client_1\Network\Admin\tnsnames.ora" 然后我会看到以下条目:

test_godw_lincoln =
   (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = xx.xxx.xx.xx)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = gotest) 
    )
  )

(我已经替换了真实IP地址)

如果我在同一个开发虚拟机上打开 Sql Developer,那么我可以使用 tnsname 条目 "test_godw_lincoln":

打开到所需数据库的连接

我知道 Oracle 可以在不使用 tnsnames.ora 的情况下从适配器寻址,但我知道如果要使用环境事务(应用程序确实使用它们)那么地址必须通过 tnsnames.ora

关于我如何查明此特定 VM 问题的原因有什么建议吗?

来自 Dmitir 的问题 - 注册表为空:

Felix 的建议 - 我可以从 Visual Studio 服务器资源管理器在同一开发服务器上创建连接:

但是,如果我尝试从 "Consume Adapter Service" 向导连接(添加生成的项目),则会收到 ORA-12154 错误:

完成所有这些更改后,您是否重新启动了主机实例?

也尝试在没有 tnsname 的情况下使用以下格式的连接字符串进行连接:host:port/database_name

这归结为 tnsnames.ora 文件的神秘问题。 @Hichamveo 的建议有所帮助,而是在工作环境中尝试我的错误 tnsnames.ora 文件,我从有效的环境中复制了 tnsnames 文件。我发现开发 VM 然后开始工作 - 所以我知道问题出在 tnsnames.ora 文件而不是 ODAC / ODP.Net 程序集。

然后我花了很多时间试图弄清楚错误的 tnsnames 文件究竟损坏了什么。我使用了文件比较工具并在 http://brantwills.github.io/tns-check/ 处尝试了 linter,但没有显示任何问题。