开发环境
名称 | 版本 |
---|---|
操作系统 | Windows 10 X64 |
Oracle | win64_11gR2_database |
PLSQL Developer | 11.0.4.1788(64 bit)01.179332 - Unlimited user license |
Visual Studio | 2012/11.0.50727.1 RTMREL |
Instant Client | v11.2.0.4.0 (64 bit) |
尝试加载 Oracle 客户端库时引发 BadImageFormatException
问题描述
运行项目报错
尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。
System.Data.OracleClient
在 System.Data.OracleClient.OCI.DetermineClientVersion()
在 System.Data.OracleClient.OracleInternalConnection.OpenOnLocalTransaction(String userName, String password, String serverName, Boolean integratedSecurity, Boolean unicode, Boolean omitOracleConnectionName)
在
问题解决
修改目标平台为 Any CPU
但是这样会引发另外一个错误
OCIEnvCreate 失败,返回代码为 -1,但错误消息文本不可用。
OCIEnvCreate 失败,返回代码为 -1,但错误消息文本不可用
问题描述
上面一个问题解决后,运行出现了下面的错误
OCIEnvCreate 失败,返回代码为 -1,但错误消息文本不可用
问题解决
1.下载 64 位的 Oracle dll 文件
下载方式参考:https://blog.csdn.net/qq_36872323/article/details/109385699
进入 Oracle 官网:https://www.oracle.com/database/technologies/instant-client/downloads.html
选择:Instant Client for Microsoft Windows (x64)
选择:instantclient-basic-windows.x64-21.3.0.0.0.zip
2.解压 instantclient-basic-windows.x64-21.3.0.0.0.zip 到文件夹 D:\Program Files\instantclient-basic-windows.x64-21.3.0.0.0\instantclient_21_3\
3.配置环境变量 PATH
路径 D:\Program Files\instantclient-basic-windows.x64-21.3.0.0.0\instantclient_21_3\
放到环境变量 PATH
的第一个位置