前提:
公司除了领导和开发人员具有管理员权限,其他人员使用的都是域账号。
过程:
应要求开发一个 winfrom项目,使用data.oracleclient 本地开发,调试无误,放到服务器共享域用户使用,报错 OCIEnvCreate 失败, 返回代码为-1 ,
百思不得其解,网上也有很多这种错误,一一尝试,并没有结局问题。 但是若是 域用户具有管理员权限,那么程序可正常使用。
后听人建议,是否oracle 服务器 不在域内,遂将开发服务器加到域,结果 pl/sql 连不上oracle 服务器,无解。
后又听说 data。oracleclient 使用是管理员权限,想着是否是因为这个问题,尝试使用其他dll,
先使用了老式的 oralce.DataAccess 本地调试无误,方到服务器 运行,结果oralce.DataAccess 版本冲突,无解。遂放弃。
后又尝试 Oracle.ManagedDataAccess。本地可行,服务器上 也可行,欢喜。
结果:
这个OCIEnvCreate 失败, 返回代码为-1 折磨了好几天,之前一直找不到解决办法,为了赶进度, 架设了webapi ,工作量增大,而且维护不好,
但是 不能放弃解决问题的办法,今天 天随人愿,虽然不知道具体原因是为何,但是终究是解决了这个问题。