Oracle: “ORA-00936: missing expression”
May 14, 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. ![]()