Eroare de Collation la join tabele din baze diferite

Rezolvare problema (Fix IT)

Situatie

Erorile de collation apar cel mai frecvent cand trebuie sa facem join-uri intre tabele aflate pe baze diferite. (se poate intampla si pe aceeasi baza, daca exista tabele ce au coloane cu collation diferit, dar acest lucru se intampla mai rar)

Asta pentru ca , destul de des, bazele, chiar daca se afla pe acelasi server (si cu atat mai des in cazul in care se afla pe servere diferite) pot avea database collation diferit.

Database collation – reprezinta modul in care datele din baza respectiva sunt interpretate si sortate.

Mai jos avem doua baze de date, de pe acelasi server, care au collation diferit.

In prima baza am o tabela numita Angajati iar in a doua baza am o tabela numita Departamente.

Daca rulez in paralel selecturi din cele doua tabele, nu am nicio problema, datele sunt afisate simultan, precum se poate vedea mai jos:

Simptome

Problema apare cand vrem sa facem join intre cele doua tabele iar printre coloanele pe care facem join sunt si coloane de tip text (varchar)

Solutie

Solutia este de a vedea tipul de collation de pe una dintre baze, (click dreapta pe baza si properties) si de a pune acel tip de collation  in join pe coloanele de tip text (varchar) folosind clauza collate

 

Se poate lua collation-ul de pe oricare dintre cele doua baze, dupa cum se poate vedea in urmatoarea imagine

Tip solutie

Permanent

Voteaza

(20 din 38 persoane apreciaza acest articol)

Despre Autor

Leave A Comment?