Lorsque je délivrant une requête SQL, je reçois parfois le message d'erreur suivant: P>
ne peut pas résoudre le conflit de collation entre "Latin1_General_ciCi_AS" et "SQL_Latin1_Generaleral_CP1_CI_AS" dans le fonctionnement égal à. P> blockQuote>
Je résolvez souvent ce problème, il suffit de rendre la même chambre de table identique. J'ai donc besoin de savoir s'il y a un moyen rapide de résoudre ce problème. P>
J'aimerais mettre quelque chose de spécial em> dans ma requête SQL en conséquence, si la collation n'est pas identique pour les deux table dans la requête SQL, alors la requête fonctionnera parfaitement sans erreur. Y a-t-il une solution? P>
3 Réponses :
Vous pouvez spécifier une classement dans une requête en utilisant le Assembler clause :
where col1 = col2 collate Latin1_General_CI_AS
Vous pouvez forcer la collation à l'aide du rassembler Clause.
Ie P>
SELECT * FROM Table1 T1 INNER JOIN Server2.dbo.Table2 T2 ON T1.Name = T2.Name COLLATE database_default
Il pourrait être possible que les deux serveurs utilisent différentes collations. Si oui, vous obtiendrez une erreur similaire à celle que j'ai mentionnée en haut de cette rubrique. Ce que vous devriez faire dans ce cas?
Vous pouvez modifier la classement par défaut de l'une des colonnes / champs de table, mais cela pourrait avoir un effet d'ondulation pour d'autres tables actuellement utilisées avec la table modifiée. P> LI>
Utilisez Collate Basey_Default Mot-clé tout en faisant correspondre les colonnes / champs P> li> ol>
J'aime: p>