ORA-12638:使用Windows的pyinstaller进行凭证检索失败,将Python(pyQt + cx_Oracle)捆绑在一起

时间:2019-07-08 12:17:00

标签: python oracle pyqt5 pyinstaller cx-oracle

我正在使用pyQt在Windows上构建GUI应用程序,该应用程序使用诸如username/password@host_ip:port/db_name之类的连接字符串来查询Oracle数据库。现在,当我使用python3 gui.py运行应用程序时,它可以工作,连接到主机并提取所需的信息,但是当我将其编译为exe时,它给了我臭名昭著的ORA-12638

我已经在Internet上搜索了解决方案,例如:如何使用pyinstaller正确打包cx_Oracle应用程序,并执行以下操作:

  1. 将InstantClient和Qt DLL添加到路径
  2. 在与exe相同的文件夹中创建一个tnsnames.ora

但无济于事。当我使用python3 gui.py运行该程序时,该程序运行完美,但在编译时却以某种方式中断。我想念一些简单的东西吗?

1 个答案:

答案 0 :(得分:0)

为所有Stack x GitHub malarkey道歉,我通过将sqlnet.ora文件的内容更改为

解决了我的问题

SQLNET.AUTHENTICATION_SERVICES = (NONE)

代替

SQLNET.AUTHENTICATION_SERVICES = (NTS)

我打开的相应问题:https://github.com/oracle/python-cx_Oracle/issues/328