System.Data.OracleClient 需要 Oracle 客户端软件 version 8.1.7 或更高版本

2021年03月15日 10:45 · 阅读(560) ·

开发环境

名称 版本
操作系统 Windows 10 X64
Microsoft Visual Studio Ultimate 2012 11.0.50727.1 RTMREL
Oracle.DataAccess.dll 4.112.3.0
oci.dll 11.2.0.1
oraociei11.dll 11.2.0.1
OraOps11w.dll 11.2.0.1

问题描述

  • 项目是一个 Web 项目,里面访问服务器上的 Oracle 数据库获取数据。

  • 本机启动调试,=,代码报错

  1. System.Data.OracleClient 需要 Oracle 客户端软件 version 8.1.7 或更高版本

问题分析

参考:.net调用Oracle 报错:System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本问题

  • Oracle.DataAccess.dll 其实是一个适配器,或者只是提供了一些接口,本身并不实现对 Oracle 数据库的读取。

  • 如果我的机器要读 Oracle 数据库的话,应该装一个 Oracle 的客户端。

问题解决

解决方案一

安装 Oracle 数据库

解决方案二

  • 下载一个本地免安装客户端 instantclient_21_3C:\Program Files\instantclient_21_3

  • 配置目录 C:\Program Files\instantclient_21_3 到环境变量 PATH重启启动,无效

  • 貌似程序启动没有读取这个目录下的 Oracle 文件访问数据库。

  • 拷贝了 C:\Program Files\instantclient_21_3 下面 3 个文件到项目运行的 bin 目录,问题解决

  1. oci.dll
  2. oraociei11.dll
  3. OraOps11w.dll