首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Oracle.ManagedDataAccess如何处理19.3版的tnsname.ora?

Oracle.ManagedDataAccess如何处理19.3版的tnsname.ora?
EN

Stack Overflow用户
提问于 2019-12-24 14:17:15
回答 2查看 662关注 0票数 1

对于Oracle.ManagedDataAccess.dll 1218,如果要使用tnsname.ora别名,则必须使用相应的路径定义环境变量TNS_ADMIN

我刚刚发现19版本能够在没有这个环境变量的情况下获得tnsname.ora配置,但我不知道如何实现?

web.congmachine.config都不包含这个环境变量。

注册表编辑器中似乎有一个路径,但是当我用错误的路径修改路径时,我的项目仍然工作。

根据我已经测试过的内容,下面列出了哪些是有效的,哪些是无效的:

  • Local 19.3 with Oracle.ManagedDataAccess 19.3 (和Oracle.ManagedDataAccess 19.3):不使用TNS_ADMIN Env
  • Local 19.3 with Oracle.ManagedDataAccess 18.6 (和以前):如果没有TNS_ADMIN Env<代码><代码>H 121本地客户端D22与Oracle.ManagedDataAccess(所有版本):没有TNS_ADMIN EnvEnvH 224F 225

所以我想知道为什么这个案子会起作用?

此外,在Oracle.ManagedDataAccess中是否有一个返回使用的tnsname.ora路径的方法?

谢谢,

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-12-26 09:26:09

谢谢大家的回答。

我最终找到了使用Process (thx @WernfriedDomscheit)并使用TNS_ADMIN过滤TNS_ADMIN列的解决方案。

注册表编辑器中有两个包含TNS_ADMIN变量的路径:

  • HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\ODP.NET.Managed\4.122.19.1
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\ORACLE\ODP.NET.Managed\4.122.19.1

我只是想移除非WOW6432Node路径。如果我还删除了WOW6432Node 1,那么Oracle.ManagedDataAccess.dll就会成功失败。

票数 1
EN

Stack Overflow用户

发布于 2019-12-24 14:59:25

我没有任何专门使用Oracle.ManagedDataAccess.dll的经验,但我确实知道,一般来说,没有任何客户端需要设置TNS_ADMIN。TNS层本身具有查找tnsnames.ora的优先顺序,这在调用客户端之外。首先,它寻找一个TNS_ADMIN环境变量。如果没有设置它,或者没有找到tnsnames.ora所在的TNS_ADMIN点,那么接下来它将检查进程的当前目录。如果在那里找不到,它会检查$ORACLE_HOME/network/admin。我要说的是,“如果您想使用tnsname.ora别名,那么您必须用相应的路径定义环境变量TNS_ADMIN”,这是基于对阅读或观察的错误解释得出的结论。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59470083

复制
相关文章

相似问题

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