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

Elválasztó

Már készül a következő cikk. Kérjen értesítést a megjelenéséről itt.

|

2 Hozzászólás

ß vs. ss

Úgy tudom, az új helyesírás szerint egyébként is az "ss" formula az elfogadott.

Üdv,

Zita @ http://www.kozelben.hu/

Köszönöm a cikket. Most

Köszönöm a cikket.

Most futottam bele ugyanebbe a problémába és emlékeztem, hogy olvastam itt róla korábban.

Szóljon hozzá!

Szabály: Legyen kedves, segítõkész és vállalja a nevét.
A mező tartalma nem nyilvános.
  • A web és email címek automatikusan linkekké alakulnak.
  • Engedélyezett HTML elemek: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • A sorokat és bekezdéseket automatikusan felismeri a rendszer.
ANTI SPAM
A robot regisztrációk elkerülésére.
Image CAPTCHA
Figyeljen a kis és nagybetűk használatára