IBM Support

** Troubleshooting ** "An error occurred... Requested registry access is not allowed... ConnectionBusiness_SetSelectDb" when launching Controller

Troubleshooting


Problem

User launches Controller. User receives error message.

Symptom

An error occurred while trying to access the server

Details:


System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.ArgumentException: Requested registry access is not allowed.
at Microsoft.VisualBasic.ErrObject.Raise(Int32 Number, Object Source, Object Description, Object HelpFile, Object HelpContext)
at ControllerServerCommon.RaiseErrSrv.RaiseError(String sUser, Int32 lErrNo, String sErrSource, String sErrDesc, String sErrHelpFile, Int32 lErrHelpContext)
at FrServerB.LocalConnectionBusiness.SetSelectDb(String sGuid, String sUser, Boolean bSelectDb)
at FrServerB.ConnectionBusiness.SetSelectDb(String sGuid, String sUser, Boolean bSelectDb)
at Cognos.Controller.Proxy.CCRWS.ConnectionBusiness_SetSelectDb(String sGuid, String sUser, Boolean bSelectDb)
--- End of inner exception stack trace ---

Cause

There are several possible causes:

  • Scenario #1 - IIS (website) 'application pool' mistakenly configured to allow 32-bit applications.
    • In other words, the setting "Enable 32-bit Applications" is set to "True" for the relevant application pool.

TIP: Older versions of Controller server were 32-bit. However (from Controller 10.2 onwards) the Controller server is almost entirely 64-bit. Therefore, using 'true' is incorrect from 10.2 onwards.
  • Scenario #2 - IIS (website) 'application pool' mistakenly configured with an incorrect setting for “Identity”.
    • For more details, see separate IBM Technote #1691747.

Environment

Controller 10.2 or later.

  • For example, this has been seen when the system was upgraded from Controller 10.1.1 to 10.2.0.

Resolving The Problem

Scenario #1

Modify the relevant IIS application pool to use 64-bit only.


    Steps:

    1. Inside IIS Manager, open the section 'Application Pools'

    2. Locate the relevant application pool

    • TIP: This is the one that is running your ControllerServer virtual application

    Controller 10.3 (or later):

    By default, this is the one called ‘.NET v4.5’ (with a managed pipeline set to 'Integrated')



    Controller 10.2.x:

    By default, this is the one called ‘.NET v2.0’ (Integrated)'

    3. Right-click on the relevant application pool (for example ‘.NET v2.0’ (Integrated)) and choose 'Advanced Settings'




    3. Modify the setting “Enable 32-bit Applications” to be “False”:


Scenario #2

Modify the relevant IIS application pool so that the “Identity” is set to “LocalSystem”.

  • For more details, see separate IBM Technote #1691747.


    Steps:

    1. Inside IIS Manager, open the section 'Application Pools'

    2. Locate the relevant application pool

    • TIP: This is the one that is running your ControllerServer virtual application

    Controller 10.3 (or later):

    By default, this is the one called ‘.NET v4.5’ (with a managed pipeline set to 'Integrated')



    Controller 10.2.x:

    By default, this is the one called ‘.NET v2.0’ (Integrated)'

    3. Right-click on the relevant application pool (for example ‘.NET v4.5')) and choose 'Advanced Settings'


    4. Modify the setting “Identity” to be “LocalSystem”:


[{"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.2.0","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Document Information

Modified date:
15 June 2018

UID

swg21680674