python - 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 或更高版本”。我花了很多时间检查可能的解决方案并遵循发布的建议(例如这个),但没有运气。
解决方案
GetOverlappedResultEx
WinAPI 函数是 Windows 8 中的新功能。
因此,这意味着您的副本cx_Oracle
(或它链接的某些 DLL——可能是 Oracle 客户端库)不支持您的 Windows 版本。
(顺便说一句,感谢包作者提供如此有用的错误消息)
推荐阅读
- java - TestRestTemplate - 在不破坏主体的情况下记录响应
- typescript - 为什么这段代码没有给我--noImplicitAny 的错误?
- java - 计算屏幕尺寸
- c# - 在 Azure 表存储中,是否可以使用 .NET Core 查询属性的子字符串?
- node.js - 带有三个.js 模块的 DragControls 不适用于 Node.js 和 React
- javascript - 重新连接 WebRTC 对等连接的正确程序?
- python - 将 groupby 变成带有新列的单行
- c++ - OpenGL立方体贴图面顺序和采样问题
- javascript - 使用 webpack 加载 MP3 文件
- json - 快速解码 JSON 数组