我们可以在.Net 中针对 Oracle 19c 使用 System.Data.OracleClient 吗?
Posted
技术标签:
【中文标题】我们可以在.Net 中针对 Oracle 19c 使用 System.Data.OracleClient 吗?【英文标题】:Can we use System.Data.OracleClient in .Net against Oracle 19c? 【发布时间】:2021-03-08 18:22:55 【问题描述】:所以我们将 Oracle 12.2 迁移到 19c,连接到 oracle 服务的 Asp.Net 应用程序现在失败并出现以下错误: Oracle 12560:TNS 协议适配器错误
首先,我想确认 .net dll System.Data.OracleClient 是否适用于 Oracle 19c,或者我们是否正在考虑强制迁移到 ODP.Net??
【问题讨论】:
你检查你的连接字符串了吗?当没有与该 sid 关联的本地实例时,该错误主要与连接到本地实例(使用 oracle_sid 且没有连接字符串)有关。当您的 oracle_home 和使用的驱动程序不匹配时,也会发生这种情况。您是否设置了 oracle_home 环境变量?您可能需要取消设置(通常在 Windows 中不使用) Oracle 19c 读作 Oracle 12c Release 2 (12.2.0.3),所以——基本上——你使用的代码应该可以工作。如需更多信息,请重新阅读@Andrew 所说的内容。 【参考方案1】:主要取决于客户端版本,而不是数据库版本。
System.Data.OracleClient
命名空间不再适用于 Oracle 客户端 18c 或更高版本。如果您的应用程序(即客户端)在您的 19cdatabase 服务器上运行,那么它将不再工作。
注意,System.Data.OracleClient
驱动程序已弃用超过 10 年。
【讨论】:
【参考方案2】:System.Data.OracleClient 需要 Oracle 客户端软件版本 8.1.7 或更高版本。 因此,如果您使用 ODP.NET v.12.X,这组 OracleClient 和 ODP.NET 将适用于 Oracle 19c。 另见Connecting to Oracle19C Server using Oracle11g client
【讨论】:
以上是关于我们可以在.Net 中针对 Oracle 19c 使用 System.Data.OracleClient 吗?的主要内容,如果未能解决你的问题,请参考以下文章
Oracle 19c: RAC 集群技术的坚持与放弃(含PPT下载)
Oracle 19c 连接到 ColdFusion 2018
Vagrant 安装Oracle19c RAC测试环境的简单学习