Consultor Eletrônico



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