Oracle: “ORA-00936: missing expression”
Monday, 14.05.2007 – DejanU petak sam prebacivao kopiju production baze na test-server, ali sam učinio jedan pogrešan korak, zbog kojeg sam kasnije dobijao masu “ORA-00936: missing expression” grešaka.
Gledam ja tako problematične SELECT upite, koji uzrokuju exception sa tom greškom i jednostavno ne vidim u čemu je problem. Gledam, testiram ručno, pokrenem debugging u TOAD-u, odradim tracing, grizem se za usne, vrijeme prolazi … – ništa sumnjivo.
Stvarno nikad ne bih uspio skontati u čemu je fora, da mi jedan stariji i iskusniji Oracle DBA nije rekao:”To ti je sigurno zbog pogrešnih NLS podešavanja!”
I bio je u pravu… Na production bazi su NLS podešavanja postavljena na Ameriku:
NLS_LANGUAGE=’AMERICAN’
NLS_TERRITORY=’AMERICA’
a na testnom serveru je postavljeno na Njemačku:
NLS_LANGUAGE=’GERMAN’
NLS_TERRITORY=’GERMANY’
tako da upiti sa TO_NUMBER i TO_DATE, koji sadržavaju masku za formatiranje, nisu radili kako treba i javljali su gorespomenutu grešku.
Početnička greška … Da sam kopirao odgovarajuću init.ora datoteku sa ispravnim NLS podešavanjima, ne bih imao ovaj problem…
No dobro, jos jedno iskustvo više. 🙂