首页 > 解决方案 > Python cx_oracle GetOverlappedResultEx 无法位于 kernel32.dll 中

问题描述

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

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

标签: pythoncx-oracle

解决方案


GetOverlappedResultExWinAPI 函数是 Windows 8 中的新功能。

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

(顺便说一句,感谢包作者提供如此有用的错误消息)


推荐阅读