我又重拾.net搞一搞。老本行了,不过现在已投奔java阵营。

用visual studio 2022运行asp.net程序,结果在读取数据库的时候报错:

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

项目引用的是System.Data.OracleClient,版本是4.0.0.0。这是。net 4.8,版本不低了。网上好多抄来抄去的文章说是权限问题,但从他们的内容表述来看,估计是读取本机的oracle。而我的情况,oracle在另一台机。

我的开发机新装的win10不久。我忽然明白了,System.Data.OracleClient其实是一个适配器,或者只是提供了一些接口,本身并不实现对oracle的读取。如果我的机器要读oracle的话,应该装一个oracle的客户端。所以网上有人说,把什么oci之类的dll拷贝到system32或者应用程序目录下。

知道原因就简单了,我设置系统环境变量path,添加了一条路径指向oracle客户端免安装版下的bin,重启IIS,搞定。