Created On: 06 April 2011
Problem:
COBOL connecting to Oracle is failing with error code ORA-12154 or ORA-6413 on 64 bit operating systems only, the same connection works fine on 32 bit operating systems.
Resolution:
Located the following on Oracle Metalink:
Subject: ORA-12154 or ORA-6413 Running 32-bit Oracle Software on 64-bit Windows OS
Doc ID: Note:334528.1
Symptoms you are attempting to connect to the Oracle database from a Windows platform using one of the following programmatic interfaces
ODBC
OLEDB
OO4O
ODP.NET
after installing 32-bit Oracle client software on a 64-bit Windows operating system (OS) you receive one of the following errors:
ORA-12154: TNS: could not resolve the connect identifier specified
or
ORA-6413: Connection not open. Cause 64-bit Microsoft OS's install 32-bit applications into the following location
"C:\\Program Files (x86)\\..."
rather than the typical location of
"C:\\Program Files\\..."
This causes an existing networking bug to occur where the networking layer is unable to parse program locations that contain parenthesis in the path to the executable which is attempting to connect to Oracle.
The following bug has been filed to correct this behavior:
Bug 3807408 - CANNOT EXTERNALLY AUTHENTICATE USER WITH QUOTE IN USERNAME
Additional Information
The reason you receive an ORA-12154 vs. an ORA-6413 is generally due to which programmatic interface you have chosen to use to connect to Oracle.
The ORA-12154 is the typical error seen when connecting with up-to-date interfaces using the latest version of the Oracle Call Interface (OCI):
Oracle ODBC Driver
Oracle Provider for OLE DB
Oracle Objects for OLE
Oracle Data Provider for .NET (ODP.NET)
Microsoft's .NET Managed Provider for Oracle
The ORA-6413 is typical of using older interfaces which make legacy API calls such as Oracle's OCI Version 7 API:
Microsoft ODBC Driver for Oracle
Microsoft OLE DB Provider for Oracle
Solution to resolve this problem try either of the following solutions:
SOLUTION 1:
Use a version of the Oracle software that contains the fix for Bug 3807408.
NOTE: Currently the following patches have been released on Windows:
Windows 32-bit
9.2.0.7.0 Patch 6: Apply Patch 4928723 or later
10.2.0.1.0 Patch 4: Apply Patch 4923768 or later
10.2.0.2.0 Patch 5: Apply Patch 5383042 or later
10.2.0.3.0 or later contains the fix
Windows 64-bit AMD64 and INTEL EM64T
10.2.0.1.0 Patch 4: Apply Patch 4923787 or later
10.2.0.2.0 Patch 5: Apply Patch 5388871 or later
10.2.0.3.0 or later contains the fix
For all other versions on Windows please use SOLUTION 2 for now.
SOLUTION 2:
Find the location of the application that is generating the error.
Check the path to this location and see if it contains any parenthesis.
If so, you must relocate the application to a directory without any parenthesis in the path.
Micro Focus Studio and Server default install location on 64 bit Windows system is C:\\Program Files (x86)\\Micro Focus
For Enterprise Server make sure you export the Enterprise Server before uninstalling the product.
If you were using the default CICS resource definition file make a copy of the two files dfhdrdat.* located in the $COBDIR\\Files\\Sys directory
Subject: ORA-12154 or ORA-6413 Running 32-bit Oracle Software on 64-bit Windows OS
Doc ID: Note:334528.1
Symptoms you are attempting to connect to the Oracle database from a Windows platform using one of the following programmatic interfaces
ODBC
OLEDB
OO4O
ODP.NET
after installing 32-bit Oracle client software on a 64-bit Windows operating system (OS) you receive one of the following errors:
ORA-12154: TNS: could not resolve the connect identifier specified
or
ORA-6413: Connection not open. Cause 64-bit Microsoft OS's install 32-bit applications into the following location
"C:\\Program Files (x86)\\..."
rather than the typical location of
"C:\\Program Files\\..."
This causes an existing networking bug to occur where the networking layer is unable to parse program locations that contain parenthesis in the path to the executable which is attempting to connect to Oracle.
The following bug has been filed to correct this behavior:
Bug 3807408 - CANNOT EXTERNALLY AUTHENTICATE USER WITH QUOTE IN USERNAME
Additional Information
The reason you receive an ORA-12154 vs. an ORA-6413 is generally due to which programmatic interface you have chosen to use to connect to Oracle.
The ORA-12154 is the typical error seen when connecting with up-to-date interfaces using the latest version of the Oracle Call Interface (OCI):
Oracle ODBC Driver
Oracle Provider for OLE DB
Oracle Objects for OLE
Oracle Data Provider for .NET (ODP.NET)
Microsoft's .NET Managed Provider for Oracle
The ORA-6413 is typical of using older interfaces which make legacy API calls such as Oracle's OCI Version 7 API:
Microsoft ODBC Driver for Oracle
Microsoft OLE DB Provider for Oracle
Solution to resolve this problem try either of the following solutions:
SOLUTION 1:
Use a version of the Oracle software that contains the fix for Bug 3807408.
NOTE: Currently the following patches have been released on Windows:
Windows 32-bit
9.2.0.7.0 Patch 6: Apply Patch 4928723 or later
10.2.0.1.0 Patch 4: Apply Patch 4923768 or later
10.2.0.2.0 Patch 5: Apply Patch 5383042 or later
10.2.0.3.0 or later contains the fix
Windows 64-bit AMD64 and INTEL EM64T
10.2.0.1.0 Patch 4: Apply Patch 4923787 or later
10.2.0.2.0 Patch 5: Apply Patch 5388871 or later
10.2.0.3.0 or later contains the fix
For all other versions on Windows please use SOLUTION 2 for now.
SOLUTION 2:
Find the location of the application that is generating the error.
Check the path to this location and see if it contains any parenthesis.
If so, you must relocate the application to a directory without any parenthesis in the path.
Micro Focus Studio and Server default install location on 64 bit Windows system is C:\\Program Files (x86)\\Micro Focus
For Enterprise Server make sure you export the Enterprise Server before uninstalling the product.
If you were using the default CICS resource definition file make a copy of the two files dfhdrdat.* located in the $COBDIR\\Files\\Sys directory
Old KB# 33870
#EnterpriseDeveloper
#MFDS