通常,我建议使用与您通常使用的凭据不同的凭据安装 Oracle 服务器。Oracle 服务器(在 Windows 下)使用了一些环境变量;ODP.NET 也是如此。虽然您无法轻松地在用户配置文件中的不同环境变量集之间切换,但您可以将不同的环境变量值分配给安装和/或运行 Oracle 服务器的(不同)用户。
如果您已经安装了 Oracle 服务器(我怀疑是您的情况),请尝试:
- 在你的 Windows 中创建一个新用户,让他有足够的特权。(“管理员”权限就可以了。:-))
- 以新用户身份登录。
- 为该特定用户设置
ORACLE_HOME
、ORACLE_SID
和环境变量(NLS_LANGUAGE
而不是整个 Windows 的全局变量!)以指向您的 Oracle 服务器。PATH
- 以原始用户身份登录。
- 启动服务管理控制台(“services.msc”)。
OracleServiceSOMETHING
将andOracle SOMETHING VSS Writer Service
和OracleJobSchedulerSOMETHING
and的“登录”凭据更改为OracleOraDb11g_home1TNSListener
您刚刚创建的新用户+密码。(...SOMETHING
通常您的实例的名称在哪里)
- 停止所有 Oracle 服务。
- 设置
ORACLE_HOME
和PATH
env var 分别指向您的 ODP.NET root 和 root\bin 文件夹;将ORACLE_SID
and NLS_LANGUAGE
vars 设置为您需要的任何值。
- 启动所有 Oracle 服务。(在这一刻之后,他们应该在自己的凭据下运行。)
- 让我们祈祷它有效。
如果这种情况不起作用,我自己也必须即兴发挥。但到目前为止,我已经以这种方式在同一台机器上成功运行了两台 Oracle 服务器和一个 Oracle 客户端,没有任何问题,所以我希望它也适用于你。如果没有,那么仍然可以选择完全重新安装 Oracle 服务器。
不要忘记备份您的数据库......以防万一发生可怕的事情。