Kbase P101421: Getting error (1252) when connecting to an Oracle 10g or 11g database when Oracle 9i is also install
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  8/24/2010 |
|
Status: Verified
SYMPTOM(s):
Getting error (1252) when connecting to an Oracle database via the unified Oracle DataServer broker
Could not connect to "<Database name>" as user "<User name>"
ORACLE error see "ORACLE Error Messages and Codes Manual". (1252)
The dataserv.lg contains the following messages:
Using shared library d:\oracle\ora92\bin\OCI.DLL (oci 8.1)
ORACLE_HOME set to 'c:\oracle\product\10.1.0'
Login failure: ÊÀq??
BROKER: The server could not open the foreign database. (1891)
FACT(s) (Environment):
Oracle 9i and 10g/11g are both installed on the machine
Oracle 9i
Oracle 10g
Oracle 11g
Oracle DataServer
Windows
CAUSE:
The DataServer engine picks the wrong OCI. The shared library OCI.DLL from Oracle 9i is used instead of the one from Oracle 10g.
FIX:
In order for the dataserver to select the dll you do not need to modify the PATH as previously suggested but by setting environment variable "ORADLLPATHNAME"..
For example, if oci.dll is available in c:\oracle\oracle11rg-32\bin\ directory, then %ORADLLPATHNAME% should be
c:\oracle\ oracle11rg-32\bin\oci.dll
Also make sure that the ORACLE_HOME environment variable matches Environment property of the unified Oracle DataServer broker.
Modify the value of the ORACLE_HOME environment variable of the unified Oracle DataServer broker from the Progress Explorer tool, and point it to the correct Oracle directory.
This value can be found in the registry:
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb10g_home1\ORACLE_HOME