ORA-12638: сбой при получении учетных данных Приложение Bundling Python (pyQt + cx_Oracle), использующее pyinstaller для Windows - PullRequest
0 голосов
/ 08 июля 2019

Я создаю приложение с графическим интерфейсом в Windows, используя pyQt, который запрашивает базу данных Oracle, используя строку подключения, такую ​​как username/password@host_ip:port/db_name. Теперь, когда я запускаю приложение, используя python3 gui.py, оно работает, подключается к хосту и извлекает необходимую информацию, но когда я компилирую его в exe, оно дает мне печально известную ORA-12638.

Я искал средства для поиска решений, а именно: как правильно упаковать приложения cx_Oracle с помощью pyinstaller, и сделал следующее:

  1. Добавить библиотеки DLL InstantClient и Qt в путь
  2. Создать tnsnames.ora в той же папке, что и exe

Но безрезультатно. Программа отлично работает, когда я запускаю ее, используя python3 gui.py, но как-то ломается при компиляции. Я скучаю по чему-то простому?

1 Ответ

1 голос
/ 11 июля 2019

Я исправил проблему, изменив содержимое файла sqlnet.ora на

SQLNET.AUTHENTICATION_SERVICES = (NONE)

вместо

SQLNET.AUTHENTICATION_SERVICES = (NTS)

Соответствующий вопрос, который я открыл: https://github.com/oracle/python-cx_Oracle/issues/328

...