I'm building a GUI application on Windows using pyQt which queries an Oracle database using a connection string such as username/password@host_ip:port/db_name
. Now when I run the application using python3 gui.py
, it works, connects to the host and extracts the required information but when I compile it to an exe, it gives me the infamous ORA-12638
.
I've scoured the interwebs for solutions ie: how to properly package cx_Oracle applications using pyinstaller and have done the following:
tnsnames.ora
in the same folder as the exeBut to no avail. The program works perfectly when I run it using python3 gui.py
but somehow breaks when compiled. Am I missing something simple?
I fixed my issue by changing the contents of the sqlnet.ora
file to
SQLNET.AUTHENTICATION_SERVICES = (NONE)
instead of
SQLNET.AUTHENTICATION_SERVICES = (NTS)
The corresponding issue I opened : https://github.com/oracle/python-cx_Oracle/issues/328