代码之家  ›  专栏  ›  技术社区  ›  Koen

带Web应用程序的Oracle即时客户端

  •  3
  • Koen  · 技术社区  · 14 年前

    我有一个带有ASP.NET 3.5 Web应用程序(WCF主机)和测试项目的Visual Studio解决方案。我想用 Oracle Instant Client (v11,通过nhibernate)创建Oracle连接,而无需在每台“相关”计算机(dev、ci服务器、测试服务器、生产服务器)上安装Oracle客户端工具。

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

    我已经排除的事情:

    • bin文件夹对所有人都具有读取和执行权限
    • 动态链接库是 畅通的 (Windows 7)
    • Visual Studio开发服务器和IIS 7都出现问题
    • 我还在安装了Oracle客户机工具的机器上测试了这个,它可以工作。

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

    有人知道我遗漏了什么吗?

    1 回复  |  直到 14 年前
        1
  •  3
  •   Patrick McDonald    14 年前

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

    1. 检查Oracle bin文件夹是否在您的路径中
    2. 将读取和执行权限授予客户端文件夹中的所有人(在我的计算机C:\oracle\product\10.2.0\client\u 1上)
    3. 在重新启动计算机之前,更改权限可能不会生效。

    编辑:

    从您的评论来看,步骤2和3与Oracle即时客户端无关。悬停,我想问题仍然是系统找不到Oracle即时客户端DLL。将这些DLL的位置放到您的路径中,看看是否能解决它是值得的。

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

    安装说明

    安装步骤:

    1. 为您的平台下载适当的即时客户端包。所有安装都需要基本或基本的Lite包。

    2. 将包解压缩到单个目录中,如“instantclient”。

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

    4. 开始申请并享受。