ORA-12638: 凭据检索失败捆绑 Python( pyQt + cx_Oracle) 应用程序使用 pyinstaller for Windows
ORA-12638: Credential retrieval failed Bundling Python( pyQt + cx_Oracle) application using pyinstaller for Windows
我正在 Windows 上使用 pyQt 构建一个 GUI 应用程序,它使用 username/password@host_ip:port/db_name
等连接字符串查询 Oracle 数据库。现在,当我 运行 使用 python3 gui.py
的应用程序时,它可以工作,连接到主机并提取所需的信息,但是当我将其编译为 exe 时,它给了我臭名昭著的 ORA-12638
.
我在网上搜索了解决方案,即:如何使用 pyinstaller 正确打包 cx_Oracle 应用程序并完成了以下操作:
- 将 InstantClient 和 Qt DLL 添加到路径
- 在与 exe 相同的文件夹中创建一个
tnsnames.ora
但无济于事。当我 运行 它使用 python3 gui.py
时,该程序完美运行,但在编译时不知何故中断。我错过了一些简单的东西吗?
我通过将 sqlnet.ora
文件的内容更改为
解决了我的问题
SQLNET.AUTHENTICATION_SERVICES = (NONE)
而不是
SQLNET.AUTHENTICATION_SERVICES = (NTS)
我打开的相应问题:https://github.com/oracle/python-cx_Oracle/issues/328
我正在 Windows 上使用 pyQt 构建一个 GUI 应用程序,它使用 username/password@host_ip:port/db_name
等连接字符串查询 Oracle 数据库。现在,当我 运行 使用 python3 gui.py
的应用程序时,它可以工作,连接到主机并提取所需的信息,但是当我将其编译为 exe 时,它给了我臭名昭著的 ORA-12638
.
我在网上搜索了解决方案,即:如何使用 pyinstaller 正确打包 cx_Oracle 应用程序并完成了以下操作:
- 将 InstantClient 和 Qt DLL 添加到路径
- 在与 exe 相同的文件夹中创建一个
tnsnames.ora
但无济于事。当我 运行 它使用 python3 gui.py
时,该程序完美运行,但在编译时不知何故中断。我错过了一些简单的东西吗?
我通过将 sqlnet.ora
文件的内容更改为
SQLNET.AUTHENTICATION_SERVICES = (NONE)
而不是
SQLNET.AUTHENTICATION_SERVICES = (NTS)
我打开的相应问题:https://github.com/oracle/python-cx_Oracle/issues/328