Pour simplification, POC, j'ai la requête suivante, à l'aide de colonnes typées de caractères: et je reçois l'erreur suivante: p> msg 468, niveau 16, état 9, ligne 2 Lorsque je regarde dans SMS, ainsi que la requête: P>
Impossible de résoudre le conflit de collation entre "sql_latin1_génalal_cp1_ci_as" et "latin1_general_cs_as" dans l'opération Union. P>
blockQuote> ggi2014 code> a été créé avec une collation
sql_latin1_general_cp1_ci_as code>. Cela a été modifié dans SMS et l'instance a été redémarré, également dans SMS. P>
select name, collation_name from sys.databases
3 Réponses :
Essayez celui-ci (peut-être que vos colonnes ont une assemblée différente) -
SELECT AH_NAME1 COLLATE database_default FROM GGIMAIN.SYSADM.BW_AUFTR_KOPF UNION SELECT AH_NAME1 COLLATE database_default FROM GGI2014.SYSADM.BW_AUFTR_KOPF
select AH_NAME1 COLLATE DATABASE_DEFAULT from GGIMAIN.SYSADM.BW_AUFTR_KOPF union select AH_NAME1 COLLATE DATABASE_DEFAULT from GGI2014.SYSADM.BW_AUFTR_KOPF Unless I am mistaken, changing the collation of the database does not change the collation of the already existing objects. Only new objects will be affected
Veuillez noter que s'il existe un mot clé dans l'instruction SELECT, la collecte entre avant.
@Stevetaylor merci beaucoup, ça m'a sauvé beaucoup
I Ajouter une garantie pour chaque champ de la requête
SELECT Field1 collate default_database ,field2 collate default_database ,fieldn collate default_database From DB1.dbo.table_x UNION ALL SELECT Field1 collate default_database ,field2 collate default_database ,fieldn collate default_database From DB2.dbo.table_y
Salut Marc_s. Pouvez-vous expliquer pourquoi vous avez édité mon post?