IBM Support

** Troubleshooting ** error "could not resolve the connect identifier" when using Database Conversion utility

Troubleshooting


Problem

Administrator logs onto Controller application server, and launches "Controller Configuration". Administrator opens "Database Connections", highlights a connection, and presses green 'play' button. The 'Database Conversion Utility' appears. Administrator clicks on 'connect' button. After a few seconds, an error message appears.

Symptom


** ERROR: java.sql.SQLException: could not resolve the connect identifier "<database name>"

Alternative error (in some environments):


** ERROR: java.sql.SQLException: Io exception: could not resolve the connect identifier "<database name>"

Cause

There are several potential causes for the same error:

  • Scenario #1 - Invalid configuration file inside the end user's Windows profile
    • Specifically the 'dbconvlauncher.conf' file contains erroneous information, causing the system to look in the wrong place for the TNSNAMES.ORA file
    • For example, it may refer to an old version of the Oracle client.
  • Scenario #2 - Invalid or corrupt entries inside TNSNAMES.ORA file
    • For more details, see separate IBM Technote #1570781
  • Scenario #3 - Third-party (non-IBM) bug (reference 3807408) in Oracle's client product.
    • For more details, see separate IBM Technote #1595127

Diagnosing The Problem

Scenario #1 - Invalid configuration file inside the end user's Windows profile

Perform the following steps:

1. Logon to the Controller application server as the 'bad' user

2. Click "Start - Run"

3. Type the following (and press <enter>): %userprofile%\Local Settings\Application Data

4. Notice how there is a file 'dbconvlauncher.conf' inside this folder.

5. Open this file (inside NOTEPAD.EXE) and notice how it may contain incorrect information, for example:

    TNS_ADMIN=C:\oracle\product\10.2.0\client\network\admin

In one real-life example, the server had been upgraded from the Oracle 10G client to the Oracle 11G client but the file was (incorrectly) pointing to the old Oracle 10G configuration.

Resolving The Problem

Scenario #1

Fix:
1. Logon to Controller application server as the 'bad' Windows user
2. Open the end user's profile (%userprofile%\Local Settings\Application Data)
3. Open the file 'dbconvlauncher.conf' inside NOTEPAD
4. Modify the entry for "TNS_ADMIN" to be the correct location (e.g. C:\app\Administrator\product\11.2.0\client_1\network\admin).

    Alternative method (suitable for some environments only):

    Create a new Windows "System Environment Variable" on the Controller application server, called "TNS_ADMIN". Assign it a value of the path to the directory where the tnsadmin.ora file is located.

    • For example: C:\app\Administrator\product\11.2.0\client_1\network\admin
    Afterwards, reboot the Controller application server to ensure that the change is registered.


    Scenario #2
    Check Oracle client TNSNAMES.ORA file on Controller application server.
    • See separate IBM Technote #1570781

    Scenario #3
    See separate IBM Technote #1595127.

    [{"Product":{"code":"SS9S6B","label":"IBM Cognos Controller"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":"Controller","Platform":[{"code":"PF033","label":"Windows"}],"Version":"10.1;10.1.1","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

    Document Information

    Modified date:
    15 June 2018

    UID

    swg21574558