IBM Support

Error 'Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "SQL_Latin1_General_CP1250_CI_AS" in the equal to operation' when launching Controller

Troubleshooting


Problem

User launches Controller client. User receives error message.

Symptom

Screen error message:
  • System.Web.Services.Protocols.SoapException: System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.Runtime.InteropServices.COMException (0x80040E14): Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "SQL_Latin1_General_CP1250_CI_AS" in the equal to operation.
    at FrMiscST.ConfigSetTClass.Push......

Event Log:
  • Event Type: Warning
    Event Source: VBRuntime
    Event Category: None
    Event ID: 1
    Date: 26/05/2009
    Time: 14:03:31
    User: N/A
    Computer: PCNAME
    Description:
    The VB Application identified by the event source logged this Application FrMiscST: Thread ID: 4308 ,Logged: Error occured at 26/05/2009 14:03:31 in FrMiscST, Error No=-2147217900, Source=Server Sub:Db_PushStruc(..) , Description=Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "SQL_Latin1_General_CP1250_CI_AS" in the equal to operation., HelpFile= HelpContext=0

    Event Type: Warning
    Event Source: VBRuntime
    Event Category: None
    Event ID: 1
    Date: 26/05/2009
    Time: 14:03:31
    User: N/A
    Computer: PCNAME
    Description:
    The VB Application identified by the event source logged this Application FrSrvFunc: Thread ID: 4308 ,Logged: Error occured at 26/05/2009 14:03:31 in FrSrvFunc, Error No=-2147217900, Source=Server Sub:Db_PushStruc(..) , Description=Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "SQL_Latin1_General_CP1250_CI_AS" in the equal to operation., HelpFile= HelpContext=0

Cause

Controller database (for example 'ControllerLIVE') has a collation setting (also known as a "character set") which is different from the collation of the SQL server's TEMPDB database.

Controller extensively uses the TEMPDB, therefore the two databases must have the same collation setting. If they do not match, the user will get error messages and Controller will not run correctly.
  • For more information, see separate IBM Technotes #1345692 & 1348028, plus also #1170148.

Environment

Typically the problem occurs because the Controller database has been moved from one SQL server (source) to a different (new) SQL server (the target). The new (target) SQL server must have the same collation setting as the original (source) SQL server, otherwise this problem will occur.

Resolving The Problem

Modify the SQL server environment so that the Controller database's collation (also known as a "character set") is exactly the same setting as the collation of the SQL server's TEMPDB database.

Steps to modify an existing SQL server's collation setting

There is no 'simple' change that can be applied to the SQL server, in order to achieve this. Instead you need to use one of the following methods:

  • Method #1 - Uninstall SQL and re-install SQL server.

During the installation wizard, choose a 'custom' installation, and choose the 'correct' database collation (the collation which the Controller database has).

  • Method #2 - Create a new instance of Microsoft SQL on the existing 'bad' SQL server

Afterwards, use this (new) instance to host the Controller database.

TIP: For exact steps on how to achieve the above on your third-party (Microsoft) database server, please refer to the Microsoft documentation.

[{"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;10.1.1;10.1;8.5.1;8.5;8.4;8.3","Edition":"Not Applicable","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Document Information

Modified date:
09 January 2020

UID

swg21388368