因为这是一个古老的问题,仍然找不到好的解决方案。
我正在使用 cmd 将 oci.dll 复制到 system32 文件夹。
访问被拒绝正在显示。我所有的oracle服务都停止了,我登录了管理员帐户。
正如预期的那样,我也无法删除 oci.dll 文件。
终于可以解决这个问题了。我正在逐步发布解决方案,因为它可能在将来有所帮助。
问题原因:
问题是我要复制或删除的文件
oci.dll
已经被一个/多个进程获取了。
解决方案:
1)首先,我们必须弄清楚哪些进程正在/正在实际使用
oci.dll
文件。要检查这一点,只需转到 cmd,将目录更改为 C:\Documents and Settings,然后运行 tasklist/mo oci.dll(或您遇到问题的 dll 的名称。所以,简而言之:
C:\Documents and Settings>tasklist /m oci.dll
运行此命令,您可以获得带有 PID 且正在使用 oci.dll 的进程列表。就我而言,它是-
exploerer.exe
所以,我必须终止 explorer.exe 进程来复制/删除 oci.dll 文件。微软的一个非常好的软件Process Exploerer也可以用来查找.dll文件的进程并杀死进程。
现在,我们都准备好了。我们要以管理员模式打开cmd,将oci.dll文件复制到system32 foler中。oci.dll复制成功。
附言
结束 explorer.exe 你可能会发现复制的问题。正确杀死所有 explorer.exe 进程后,您可以按
Ctrl+Alt+Delete
打开任务管理器并转到 File -> New Task(Run... )
为资源管理器创建一个新任务以复制/删除。