带有Web应用程序的Oracle Instant Client

时间:2010-09-06 14:24:53

标签: wcf oracle nhibernate web-applications instantclient

我有一个带有ASP.NET 3.5 Web应用程序(WCF主机)和测试项目的visual studio解决方案。我想使用Oracle Instant Client(v11,通过NHibernate)创建Oracle连接,而无需在每个“涉及”的机器(开发,CI服务器,测试服务器,生产服务器)上安装Oracle客户端工具。

奇怪的是,在我的开发机器(x86)上,我的测试运行没有问题,而我的Web应用程序仍然给我以下错误消息:System.Data.OracleClient requires Oracle client software version 8.1.7 or greater

我已经排除的事情:

  • bin文件夹已读取&执行每个人的权限
  • DLL是解除阻止(Windows 7)
  • Visual Studio开发服务器和IIS 7都出现问题
  • 我还在安装了Oracle客户端工具且运行正常的计算机上对此进行了测试

我甚至设法让我们的x64 CI服务器(more info)上运行测试。

任何人都知道我错过了什么?

1 个答案:

答案 0 :(得分:3)

我几乎每次在新机器上设置Oracle时都会看到此错误。

  1. 检查oracle bin文件夹是否在您的路径中
  2. 为客户端文件夹中的每个人(在我的计算机上为C:\ oracle \ product \ 10.2.0 \ client_1)提供读取和执行权限。
  3. 重新启动计算机后,更改权限可能不会生效。
  4. 编辑:

    根据您的评论,第2步和第3步与Oracle Instant Client无关。 Hoverer,我猜测问题仍然是系统无法找到Oracle Instant Client DLL。将这些DLL的位置放入您的路径并查看是否可以解决它是值得的。

    来自http://www.oracle.com/technetwork/database/features/instant-client/index-100365.html

    安装说明

    安装步骤:

    1. 下载适用于您平台的相应Instant Client软件包。所有安装都需要Basic或Basic Lite软件包。

    2. 将软件包解压缩到一个目录,例如“instantclient”。

    3. 将环境中的库加载路径设置为步骤2中的目录(“instantclient”)。在许多UNIX平台上,LD_LIBRARY_PATH是适当的环境变量。在Windows上,应使用PATH。

    4. 启动您的申请并享受。