Oracle: “ORA-00936: missing expression”

U petak sam prebacivao kopiju production baze na test-server, ali sam ucinio jedan pogresan korak, zbog kojeg sam kasnije dobijao masu “ORA-00936: missing expression“ gresaka.

Gledam ja tako problematicne SELECT upite, koji uzrokuju exception sa tom greskom i jednostavno ne vidim u cemu je problem. Gledam, testiram rucno, pokrenem debugging u TOAD-u, odradim tracing, grizem se za usne, vrijeme prolazi … - nista sumnjivo.

Stvarno nikad ne bih uspio skontati u cemu je fora, da mi jedan stariji i iskusniji Oracle DBA nije rekao:”To ti je sigurno zbog pogresnih NLS podesavanja!

I bio je u pravu… Na production bazi su NLS podesavanja postavljena na Ameriku:
   NLS_LANGUAGE=’AMERICAN’
   NLS_TERRITORY=’AMERICA’

a na testnom serveru je postavljeno na Njemacku:
   NLS_LANGUAGE=’GERMAN’
   NLS_TERRITORY=’GERMANY’

tako da upiti sa TO_NUMBER i TO_DATE, koji sadrzavaju masku za formatiranje, nisu radili kako treba i javljali su gorespomenutu gresku.

Pocetnicka greska … Da sam kopirao odgovarajucu init.ora sa ispravnim NLS podesavanjima, ne bih imao ovaj problem…

No dobro, jos jedno iskustvo vise. :)

Leave a Reply