"collation conflict"-Fehler beim CP-Import nach Umzug des SQLServers
Der CP-Import kann nicht ausgeführt werden, da ein Fehler bzgl. “collation conflict” ausgegeben wird.
Version:
Fehler ist abhängig von CP-Version, meistens beobachtet ab CP-Version 6
unabhängig von CPCE-Version
Fehlermeldung/Fehlerbild
Beim CP-Import erscheint folgende Fehlermeldung in der import.log:
-------------------------------
2022-03-09 15:06:47:816 [ ALL] Der Importvorgang für die Datenbasis "<CP-Datenbasis-Name>.db" wurde erstellt.
2022-03-09 15:06:47:816 [ ALL] Anwender: <Domäne>\<User>
2022-03-09 15:06:47:816 [ ALL]
2022-03-09 15:06:48:394 [ERROR] Exception: Die Verbindung zum Data WareHouse konnte nicht hergestellt werden: "Cannot resolve the collation conflict between "Latin1_General_CI_AS" and "SQL_Latin1_General_CP1_CI_AS" in the equal to operation.".
2022-03-09 15:06:48:441 [ERROR] Es ist ein Import Fehler beim Lesen der Daten aufgetreten.
-------------------------------
Ursache
Die CP-Datenbanken und die CPCE-Stammdatenbank wurden von einem alten auf einen neuen SQLServer umgezogen.
Scheinbar wurde der neue SQLServer mit der Collation "SQL_Latin1_General_CP1_CI_AS" aufgesetzt. Der alte SQLServer hatte wahrscheinlich noch die vom CP-Import erwartete Collation "Latin1_General_CI_AS".
Im beim Kunden vorgefundenen Zustand besaßen die Instanzen auf dem neuen SQLServer (sowohl CP als auch CPCE) die Collation "SQL_Latin1_General_CP1_CI_AS".
Die Datenbanken (sowohl CP als auch CPCE) hatten die Collation "Latin1_General_CI_AS".
Lösung/Workaround
In folgenden CP-Prozeduren muss die Zeile
CREATE TABLE #clients(ClientId VARCHAR(255));
ersetzt werden durch
CREATE TABLE #clients(ClientId VARCHAR(255) collate database_default)
pCP_SelectCostUnitKoRe
pCP_SelectCostCenterKoRe
pCP_SelectAccountsKoRe
pCP_SelectAccountsFiBu
Beispiel (aus einer CPCE V4):