我在运行于 Windows Server 2012 的 IIS 上建立了本地内联网,使用 Oracle Instant Client 连接到我们的数据库。
我在安装过程中将 Oracle Instant Client 安装到了 C:\instantclient。它运行良好,已经使用了 12 个月。
为了保持 C:\ 整洁,我将文件夹复制到 C:\Program Files (x86)\instantclient 并更改了 PATH 中的路径。
这就是奇怪的地方:
我重新启动了服务器进行测试,打开了我们的本地内联网,因此我知道 Oracle Instant Client 正在使用中,并尝试删除 C:\instantclient 中的原始文件夹,但我被告知它正在使用中。
我删除了 C:\Program Files (x86)\instantclient 文件夹,本地内联网仍可继续工作。它显然使用的是 C:\instantclient 的原始文件夹,但为什么呢?
正如我提到的,我更新了 PATH 并重新启动。除了文件夹本身之外,此服务器上根本没有提到 C:\instantclient。
为什么它继续使用原来的文件夹?
答案1
您需要确保每个引用都已C:\instantclient
被识别并更改至新位置。
PATH 只是一个变量。请查找TNS_ADMIN
其他变量。
然后是 Windows 注册表。Instant Client 的某些组件(如 ODBC 或 OLEDB 组件)在 Windows 注册表中有条目。这些组件应始终通过提供的exe
或bat
脚本进行安装/卸载。
您是否正在使用任何其他插件、扩展或组件,它们自己的配置数据可能仍指向C:\instantclient
?
我认为这也是一个很好的教训,不要试图修复没有损坏的东西。服务器不关心C:\
外观是否整洁,最终用户也不关心。