Német adattárházak nyelvi problémái
Tépelődtünk már egy párszor itt a BI projekt blogon a nyelvi különbségek kezeléséről. A magyar nyelvvel már foglalkoztunk eleget (ékezetes betűkkel itt, dupla mássalhangzókkal itt) Most jöjjön a német nyelv :-)
Több ország forrásrendszeréből kellett betöltenünk az adatokat egy központi adattárházba. Ez meg is történt csont nélkül, de amikor fel akartuk összegezni az adattárházon lévő OLAP kockákat, jött a hibaüzenet:
Errors in the OLAP storage engine: The attribute key cannot be found when processing: Table: 'dbo_v_DimContact', Column: 'ContactAddress', Value: 'Lindwurmstraße'. The attribute is 'Contact Address'.
Néhány óra kutakodás után kiderült, hogy az adattárház tartalmaz két olyan ügyfelet is, akinek székhelye a Lindwurmstraße -n van. Csakhogy az egyik Lindwurmstraße-n székel a másik a Lindwurmstrasse-n.
Azt is megtudtuk, hogy a német nyelvben egyre kevésbé használják a „ß" karaktert, helyette az „ss"-t használják. És mint kiderült a DIN/ISO szabvány nem tesz különbséget az „ß" és az „ss"- között és így az SQL Server sem. Illetve nem mindig.
Ha beszúrjuk a Lindwurmstraße-t és a Lindwurmstrasse-t egy táblába, akkor különbséget tesz köztük. Lekérdezve a varbinary-vá konvertált értéküket ugyanis tisztán látszik, hogy tároláskor még meg van a „ß" karakter.
Ugyanakkor ha lekérdezzük, hogy hány különböző (Distinct) cím található az adatbázisban akkor 1-et fogunk kapni: A Lindwurmstrasse-t.
Lekérdezéskor ugyanis a Lindwurmstrasse és a Lindwurmstraße ugyanannak számit. És ez logikus is így, csak szegény Analysis Services belehal...
Megoldás: Vagy betöltés közben kicseréljük a „ß" karakter „ss" re, vagy Bináris collation használunk az adattárház oldalon. Ha binárisra állítjuk a collationt, akkor az „ß" és az „ss" két külön karakternek fog látszani és a distinct lekérdezés is két külön sort fog visszaadni. Mi ez utóbbit választottuk, és úgy oldottuk meg a problémát, hogy az adattárház feletti view-k ban állítottuk át a collationt
Kővári Attila - BI projekt
hozzászólás
Zita
szo, 11/02/2013 - 07:48
Permalink
ß vs. ss
Dénes
szo, 10/17/2015 - 19:10
Permalink
Köszönöm a cikket. Most
Új hozzászólás