The type initializer for 'Oracle.DataAccess.Client.OracleCommand' threw an exception的解决方法
升级Oracle DB 到19c 标准版后,(ODAC)程序报错
- Situation/问题:Oracle DB 升级后,程序部署在安装oracle client 19c 的服务器上,运行时遇到以下报错:
The type initializer for ‘Oracle.DataAccess.Client.OracleCommand’ threw an exception. - Cause/原因:
ODAC(Oracle.DataAccess.dll)的版本问题 - Solution/解决方案:
- 在Oracle client 的安装目录下
%Oracle Home%/19c_ODAC_32/odp.net/bin/4/Oracle.DataAccess.dll,复制Oracle.DataAccess.dll到你程序的bin目录中。
(先删除你程式原有Oracle.DataAccess.dll引用Reference,再引用刚刚新的Oracle.DataAccess.dll,重新Build 程序) - 或者从oracle 网站下载,对应版本的ODAC(
Oracle.DataAccess.dll)到你程序的bin目录中。
Oracle Data Access Components (ODAC) for Windows Downloads: https://www.oracle.com/database/technologies/odac-nuget-downloads.html
- 在Oracle client 的安装目录下
在将Oracle DB升级到19c标准版后,使用ODAC的.NET程序遇到了'Oracle.DataAccess.Client.OracleCommand'类型初始化异常。问题源于ODAC版本不匹配。解决方案包括将Oracle client安装目录下的文件复制到程序bin目录,或从Oracle官网下载相应版本的ODAC并替换原有引用。

2301

被折叠的 条评论
为什么被折叠?



