一周前,同事的机器在编译.NET程序时断电,致使ASP.NET环境始终无法启动,无奈,只得重装系统(此问题估计遇到的人很少,毕竟是一个节骨眼上,但如果有哪位仁兄知道解决方法,也望不吝赐教)
可当他安装完毕VS.NET2003和Oracle客户端时,发现调试的程序无法启动,提示“OCI.DLL无法加载”,上网一搜,是权限问题,顺利解决――此错误没有了,却出来一个新的错误“Could not create an environment: OCIEnvCreate returned -1”,这回问题貌似不怎么容易,去网上搜了N多帖子,也仅仅提到权限问题。但当把所有用户都加入Administrators组时,问题依旧。
重装Oracle客户端,多个版本都试验过,苦苦寻找了一个礼拜也没有找到答案。
今天由于更新了一些需求,代码必须调试,只能硬着头皮又摸索起来。
看错误提示的样子,应该还是OCI.DLL的问题,那么是不是这个文件出了什么问题?刚刚在网上有人说System32目录中没有OCI.DLL文件也会出问题。于是我试着把Oracle客户端安装目录下bin中的OCI.DLL复制,并粘贴到System32目录,却意外发现,系统跳出的替换对话框中显示了两个大小不一样的OCI.DLL版本,旧的是112KB,新的是184KB,难道…死马当活马医,替换之,却发现该文件被进程占用,遂启动unlocker将其全部解锁。替换完毕重启。哈哈!Oracle又活过来了!
再一次因为爬出了Dll地狱感到庆幸…
Hello. And Bye.