【问题标题】:Unable to connect to Oracle 10g Express Edition with ODBC无法使用 ODBC 连接到 Oracle 10g Express Edition
【发布时间】:2010-10-06 23:23:37
【问题描述】:

我正在使用 C 编写一个 DLL,它使用 ODBC 为几个不同的应用程序提供基本的数据库连接功能。当我使用此 DLL 连接到 Oracle 数据库(特别是 Oracle 10g Express Edition)时,我收到以下错误消息:

由于系统错误 1114(XE 中的 Oracle),无法加载指定的驱动程序。

重新启动我的计算机后,使用此 DLL 的应用程序之一可以连接到数据库,但另一个(更重要的)仍然收到此消息。

有谁知道可能导致此错误的原因以及如何修复它?我以前从未使用过 Oracle,所以我真的不知道从哪里开始解决这个问题。提前感谢任何人都可以提供的任何想法。

编辑:我检查了 PATH 环境变量。它以:C:\oraclex\app\oracle\product\10.2.0\server\bin 开头。这是我计算机上通往 Oracle 的正确路径。

【问题讨论】:

  • 您使用的是什么版本的 ODBC 驱动程序?是甲骨文的驱动还是微软的?
  • 我正在使用名为“Oracle in XE”的驱动程序,版本 10.02.00.01。这是我安装 Oracle 后唯一可用的新 ODBC 驱动程序。

标签: c oracle odbc oracle-xe


【解决方案1】:
  1. 设置 windows PATH 以首先搜索与 Oracle ODBC 相关的 ORACLE_HOME\bin 您尝试使用的驱动程序,或在与 ODBC 驱动程序相关的 ORACLE_HOME\bin 目录中启动您的应用程序。
  2. 确保 ODBC 驱动程序的版本与您安装的 SQL*Net 版本相匹配。

【讨论】:

  • 我的 PATH 变量设置正确,但是当我创建一个名为 ORACLE_HOME 的变量并将其设置到 Oracle 目录时,我的应用程序开始工作。感谢您为我指明正确的方向。
  • 有趣。通常在安装 Windows 时,设置 ORACLE_HOME 环境变量会导致问题,而不是解决问题!通常,ORACLE_HOME 是在注册表中设置的。我想知道 XE 的做法是否有所不同...
【解决方案2】:
  • 检查tnsping 是否可以访问您的数据库
  • 尝试使用sqlplus 连接到Oracle
  • 检查 ODBC 参数。是 Microsoft 驱动还是 Oracle 驱动?
  • 通过Control panel -> Administrative Tools -> Data Sources创建ODBC DSN并尝试连接Oracle

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-26
    • 1970-01-01
    • 2010-09-20
    • 2011-07-24
    相关资源
    最近更新 更多