Discussion:
collation conflict
(zu alt für eine Antwort)
mike
2008-02-08 07:57:01 UTC
Permalink
Hi !

Ich erhalte folgende Fehlermeldung wenn ich eine Tabelle mit einer view aus
derselben Datenbank joine:

Cannot resolve the collation conflict between
"SQL_Latin1_General_CP850_CI_AS" and "Latin1_General_CI_AS" in the equal to
operation.

ich dachte in einer Datenbank gibt es nur eine collation ? Woran kann das
liegen und wie kann ich das beheben ?

vg michael
Jürgen Volke
2008-02-08 08:27:34 UTC
Permalink
hallo Mike
Post by mike
Ich erhalte folgende Fehlermeldung wenn ich eine Tabelle mit einer view aus
Cannot resolve the collation conflict between
"SQL_Latin1_General_CP850_CI_AS" and "Latin1_General_CI_AS" in the equal to
operation.
ich dachte in einer Datenbank gibt es nur eine collation ? Woran kann das
liegen und wie kann ich das beheben ?
beheben kannst du es, indem du bei der ON-Anweisung bei einer der beiden
Seiten

COLLATE SQL_Latin1_General_CP850_CI_AS

oder

COLLATE Latin1_General_CI_AS

dazu setzt - mußt halt mal probieren in welcher Kombi es klappt

HTH Jürgen
Christoph Ingenhaag
2008-02-08 08:38:01 UTC
Permalink
Post by mike
Hi !
Ich erhalte folgende Fehlermeldung wenn ich eine Tabelle mit einer view aus
Cannot resolve the collation conflict between
"SQL_Latin1_General_CP850_CI_AS" and "Latin1_General_CI_AS" in the equal to
operation.
ich dachte in einer Datenbank gibt es nur eine collation ? Woran kann das
liegen und wie kann ich das beheben ?
vg michael
Hi Mike,

eine Datenbank hat eine default collation.
Diesen default Wert kann man natürlich überschreiben.

Entweder gleichst die collation der Spalten an (wenn die collation nicht mit
Absicht unterschiedlich sind)

alter table [Tablename] alter Column [columndefinition] collate [collation]
[NULL/NOT NULL]
siehe in der Hilfe unter ALTER TABLE

Bspl.
alter table TABLE1
alter Column COL1 varchar(100) collate Latin1_General_CI_AS not NULL

oder du spezifierst im join die collation

Bspl:
...
inner join TABLE2 T2
on
T1.name1 = T2.name1 collate SQL_Latin1_General_CP850_CI_AS
...
Aber Achtung: Hierduch kann kein Indexseek mehr durchgeführt werden, sondern
nur noch ein Indexscan (sofern ein entsprechender Index vorhanden ist)

vg
Christoph

Loading...