使用oracle.dataaccess.dll时出错

Zol*_*iqa 8 .net windows oracle 64-bit odp.net

我有一个Web应用程序,它使用Oracle.DataAccess.dll与Oracle数据库进行通信.部署在32位Windows系统上的Web应用程序可以运行,但不能在Windows Server 2008 64位上运行.我安装了10204_vista_win2k8_x64_production_db包,从项目中引用了已安装的dll(版本2.102.4.0),但是我收到以下错误:

无法加载文件或程序集'Oracle.DataAccess,Version = 2.102.4.0,Culture = neutral,PublicKeyToken = 89b483f429c47342'或其依赖项之一.该系统找不到指定的文件.

Phi*_*ert 12

同样在这里.Oracle.DataAccess程序集不以64位模式运行.

您应该将站点的应用程序池设置为32位模式(转到应用程序池的高级设置并将允许32位应用程序设置为"True")

如果这不起作用,请确保您的Oracle目录(包含所有Oracle dll的目录)位于系统路径中.如果您忘记了这一点,则会因未找到Oracle.DataAccess而遇到同样的神秘错误.

编辑:

安装Oracle客户端可能是一个很大的痛苦.使用Oracle Instant Client比安装完整客户端要容易一些,所以这就是我通常做的事情:

  1. 下载Oracle Instant Client
  2. 在c:\ oracle中解压缩存档(任何其他目录都可以)
  3. 以管理员身份打开命令提示符
  4. 键入cd\oracle
  5. 输入配置odp.net20 myhome
  6. 右键单击"我的电脑","高级系统设置","环境变量",并将C:\ oracle目录添加到系统路径
  7. 将Oracle.DataAccess.dll文件从c:\ oracle\odp.net\bin\2.x复制到应用程序的bin文件夹
  8. (光盘)编辑你的c:\ oracle\tnsnames.ora文件