在.NET中无法加载Oracle.DataAccess的文件或程序集

29

当我尝试运行一个简单的访问oracle的程序时,我收到以下信息:

无法加载文件或程序集“Oracle.DataAccess, Version=2.111.7.20, Culture=neutral, PublicKeyToken=89b483f429c47342” 或其中一个依赖项。系统找不到指定的文件。

我检查了\windows\assembly目录,它在那里,但是它不在GAC中(gacutil -l)。我无法添加到GAC(gacutil -i [path])。我收到“未知错误”。

有人有同样的经验吗?


4
因为我使用的是x64,只需使用x86来运行就可以解决问题。 - Chris
4
你应该提供一个更完整的答案,然后标记你找到的解决方案来回答你的问题。 - Doug Porter
13个回答

0
请将您的Oracle.DataAccess注册到GAC。
raProvCfg.exe /action:gac /providerpath:C:\oracle\product\11.2.0\x32\ODP.NET\bin\4\Oracle.DataAccess.dll

OraProvCfg.exe /action:gac /providerpath:C:\oracle\product\11.2.0\x64\ODP.NET\bin\4\Oracle.DataAccess.dll

0
对于我的情况,是因为勾选了“优先使用 32 位”框。

Prefer 32-bit


0

你可以跟着这个做

https://docs.oracle.com/health-sciences/inform-62/install/index.htm?toc.htm?214691.htm

注册Oracle.DataAccess.dll程序集

您必须将Oracle.DataAccess.dll程序集注册到.NET版本2和版本4的全局程序集缓存(GAC)中:

  1. 以管理员身份打开命令提示符。

  2. 导航至%ORACLE_CLIENT_HOME%\ODP.NET\bin\2.x。

  3. 执行以下命令:oraprovcfg.exe/action:gac/providerpath:Oracle.DataAccess.dll

  4. 导航至%ORACLE_CLIENT_HOME%\ODP.NET\bin\4.x。

  5. 执行以下命令:oraprovcfg.exe/action:gac/providerpath:Oracle.DataAccess.dll


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接