【问题标题】:Python cx_oracle GetOverlappedResultEx could not be located in kernel32.dllPython cx_oracle GetOverlappedResultEx 无法位于 kernel32.dll 中
【发布时间】:2019-10-14 19:58:19
【问题描述】:

我正在尝试使用 cx_Oracle 连接到数据库,当我发出 cx_Oracle.connect 语句时,在代码中出现此错误。我正在运行 Windows 7,并尝试使用 32 位和 64 位版本的 python 以及相应的 Oracle Instant Client 版本。

如果我通过 Visual Studio Code 运行,我不会收到此错误,但会收到错误“DPI-1050:Oracle 客户端库的版本为 0.0,但需要 11.2 或更高版本”。我花了很长时间检查可能的解决方案并遵循发布的建议 (this one for example) 但没有运气。

【问题讨论】:

  • 听起来你需要先安装客户端部分

标签: python cx-oracle


【解决方案1】:

The GetOverlappedResultEx WinAPI function is new in Windows 8.

因此,这意味着您的 cx_Oracle 副本(或它链接的某些 DLL ——也许是 Oracle 客户端库)不支持您的 Windows 版本。

(顺便感谢软件包作者提供了如此有用的错误消息)

【讨论】:

  • 我使用的是最新的 Instant Client 版本 (19_3) 并尝试了 32 位和 64 位版本,但没有任何乐趣。因此,根据您的建议,我转到错误消息(11.2)中引用的最早版本并再次尝试并解决了问题。非常感谢。我同意..错误消息很糟糕。
  • 您是否安装了 19.3 所需的 VS Redistributable 版本?见github.com/oracle/python-cx_Oracle/issues/…
猜你喜欢
  • 2016-02-28
  • 2011-02-20
  • 1970-01-01
  • 2011-07-17
  • 2010-11-12
  • 2018-05-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多