Jump to content

DB Collation ändern MSSQL2000


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben

Hallo zusammen

 

Ich habe ein Problem und zwar habe ich eine DB, die eine Falsche Collation hat.

 

Die DB konnte ich mit dem Befehl

ALTER DATABASE <DB-NAM> COLLATE SQL_Latin1_General_CP1_CI_AS ändern.

 

Ich brauche diese DB für eine Migration. Bei dieser Migration gibt es ein Tool die prüft ob die Collation richtig ist. Jetzt kommt die ganze Zeit dieser Fehler hoch:

 

System.Data.SqlClient.SqlException: Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "Latin1_General_CI_AS" in the equal to operation.

 

Server stack trace:

 

 

Exception rethrown at [0]:

at Microsoft.VisualBasic.CompilerServices.LateBinding.LateGet(Object o, Type objType, String name, Object[] args, String[] paramnames, Boolean[] CopyBack)

at OSoft.Services.Application.Migration.MigrationUnits.MigrationDiagnostic.CheckFactTableColumns(String& strTotalLog)

at OSoft.Services.Application.Migration.MigrationUnits.MigrationDiagnostic.CheckTablesIntegrity(String& strTotalLog)

at OSoft.Services.Application.Migration.MigrationUnits.MigrationDiagnostic.runStep(MigrationContext context, String appsetname, Hashtable parameter)</message>

<messageType>1</messageType>

 

Was ich bisher rausgefunden habe, dass in einer Spalte noch eine falsche Collation ist.

 

Jetzt meine Frage wie kann ich rausfinden welche Spalte die falsche Collation hat?

 

Als zusatz info. Das Migrationstool will eine MSSQL2000 DB auf eine MSSQL2005 DB migrieren.

 

Stefan Zumbühl

Geschrieben

Moin,

 

 

Hallo zusammen

 

Ich habe ein Problem und zwar habe ich eine DB, die eine Falsche Collation hat.

 

Die DB konnte ich mit dem Befehl

ALTER DATABASE <DB-NAM> COLLATE SQL_Latin1_General_CP1_CI_AS ändern.

 

Diese Anweisung ändert nicht die bestehenen Tabellen.

 

Jetzt meine Frage wie kann ich rausfinden welche Spalte die falsche Collation hat?

 

Im EnterpriseManager kannst Du Dir die Tabellen anschauen. In allen Text-Spalten wie z.B. varchar, nvachar etc. ist eine Sortierung angegeben.

Enweder dort oder per SQL ändern (für jede Tabelle/TextSpalte).

Beispiel für varchar(50) Spalte:

 

ALTER TABLE <Tabelle>

ALTER COLUMN <Spaltenname> varchar(50)

COLLATE SQL_Latin1_General_CP1_CI_AS

 

Weitere Informationen findest Du in der Onlinehilfe unter "COLLATE".

 

Gruß Kai

Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...