简体   繁体   English

Python cx_oracle GetOverlappedResultEx 无法在 kernel32 中定位。dll

[英]Python cx_oracle GetOverlappedResultEx could not be located in kernel32.dll

I am trying to use cx_Oracle to connect to a database and am getting this error at the point in the code when I issue the cx_Oracle.connect statement.我正在尝试使用 cx_Oracle 连接到数据库,并在发出 cx_Oracle.connect 语句时在代码中出现此错误。 I am running windows 7 and have tried with both 32 and 64 bit versions of python and the corresponding Oracle Instant Client versions.我正在运行 windows 7 并尝试使用 32 位和 64 位版本的 python 和相应的 Oracle Instant Client 版本。

If I run through Visual Studio Code I dont get this error but I get the error "DPI-1050: Oracle Client library is at version 0.0 but version 11.2 or higher is needed".如果我通过 Visual Studio Code 运行,我不会收到此错误,但会收到错误“DPI-1050:Oracle 客户端库的版本为 0.0,但需要 11.2 或更高版本”。 I spent quite some time checking for possible solutions and following the suggestions posted ( this one for example ) but with no luck.我花了很多时间检查可能的解决方案并遵循发布的建议( 例如这个),但没有运气。

The GetOverlappedResultEx WinAPI function is new in Windows 8. GetOverlappedResultEx WinAPI function 是 Windows 8 中的新功能。

As such, this means that your copy of cx_Oracle (or some DLL that it links against -- perhaps the Oracle client library) does not support your version of Windows.因此,这意味着您的cx_Oracle副本(或它链接的某些 DLL - 可能是 Oracle 客户端库)不支持您的 Windows 版本。

(btw kudos to package authors for such a helpful error message) (顺便说一句,package 作者提供了如此有用的错误消息)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM