Error while trying to retrieve text for error ORA-01804

I am having an issue to connect my C++ application to my Oracle DB,I get an error

"[OracleException] errcode: 1804, desc: Error while trying to retrieve text for error ORA-01804".


Solution 1:

I got the same error for cx_oracle (via python). For this specific case ORACLE_HOME was missing in environment variables. Set Oracle_home with Windows Cli (use your oracle folder):

setx ORACLE_HOME  "C:\oracle\oc121\"

On some of the DB connections TNS_ADMIN is required also set that as well:

setx TNS_ADMIN "%ORACLE HOME%\network\admin"

Solution 2:

I use OCCI in CentOS 7, and encounter the same issue, just add libociicus.so to LD_LIBRARY_PATH to resolve the issue.

Solution 3:

You are receiving ORA-01804 by the database, the description of ORA-01804 is:

failure to initialize timezone information
Cause:   The timezone information file was not properly read.