( vlacko | 2004. 11. 04., cs – 10:17 )

Sziasztok!

Van egy kis problémám, hátha tudtok segíteni, illetve bármilyen tippeket szivesen veszek. :)

Előzmény:
Adott egy Oracle 9.2.0.1-es verziójú adatbázis szerver.
Megvan az adatbázis, amelynek a characterset-je: EE8MSWIN1250-es. Az NLS_LANG Hungarian és az NLS_SORT is Hungarian.
A kliensen a registry-ben az NLS_LANG=HUNGARIAN_HUNGARY.EE8MSWIN1250

Probléma:
A gond annyi, hogy ha a rekordokat rendezve kérdezik le az adatbázisból, az ékezetes betűket nem a magyar ABC-nek megfelelően rendezi. Tehát pl. Adat,Állam,Alma az Adat,Alma,Állam helyett. Szóval az ékezeteket nem veszi figyelembe az Oracle. Az NLS_SORT-ot átállították XHUNGARIAN-ra is, de itt "csak" annyi volt a különbség, hogy a 2 karakterből álló betüink, mint pl. a CS,SZ,TY a magyar ABC szerinti sorrendnek megfelelő helyre kerültek a rendezett listában, de az ékezeteket továbbra sem vette figyelembe az Oracle a rendezésnél. Habár az ékezetes betük megjelenítése tökéletes volt, a
rendezésük nem.

Szóval a kérdésem az lenne, hogy létezik-e a 9-es Oracle-ben ékezethelyes magyar rendezés, is ha igen, akkor ezt hogyan lehet beállítani? Próbálkoztunk más charakterset-tel is, pl. EE8ISO8859P2-vel is kifejezetten magyar
nyelvhez ajanlott karakterset-ekkel, de vagy az ékezetes betűk megjelenítése nem volt jó (itt a rendezést már nem is néztem), vagy a rendezésük.

A 10-es Oracle dokumentációjában találtak leírást többszintű rendezésről, ahol az 1. szintű rendezés az alap karakter, a 2. szintű az ékezetek, a 3. szintű pedig a speciális karakterek alapján történik. Ez alapján a 10-es Oracle-t már esélyesebbnek látnák az ékezetes betűk magyar ABC-nek megfelelő rendezésére, de most a fő kérdés, hogy van-e ilyen a 9-es Oracle-ben és ha van, akkor hogy lehet beállítani.

Segítségeteket előre is köszönöm!

Üdv. vlacko