[ darko_sudarov @ 02.11.2006. 08:27 ] @
Problem se sastoji u sledecem:
opis baze i test forme:ORACLE XE10g unos iz test forme access

Razvio sam aplikaciju koja radi na 90% masina ali ostaje 10% i naravno tu je i moja masina :-)
Naime kada vrsim unos u aplikaciju numerickih vrednosti u koliko su celobrojne nema problema ali ako je decimalni broj javlja se problem.
ORA 01722 not valid number i ostalo...
znaci nije upit,nije nista cist unos sa tastarure(ok slazem se na insert se svodi u PLSQL-u),
i za sada nemam resenje.
Ono sto sam probao je:
alter session set nls_numeric_sharacters =",.";
i ok uradim
select 3/4 from dual;
i dobijem ,75
ok idem dalje

alter table merac
add dozproc number (10,2) default 0,5;
dobijem gresku ORA 01735 invalid alter table

to isto ponovim ali sa
alter table merac
add dozproc number (10,2) default 0.5;
i radi

Predpostavljam da je to uzrok ne prepoznavanja zareza u test formi;

probao sam i sa nls_language = english pa german i cuda ali i dalje nece.

Zna li neko resenje ovog problema.

[ djoka_l @ 02.11.2006. 12:26 ] @
Ako ista aplikacija radi na 90% mašina, onda je definitvno problem sa setovanjem ostalih 10% mašina. Verovatno je u pitanju kako je setovan windows (regional settings).

Kao jedno od rešenja je da na mestima gde očekuješ insert numeričkog decimalnog podatka predlažem da uradiš kao da je podatak alfanumerički pa da napraviš konverziju.
Primer:


insert into blabla (numericki_podatak) to_number(replace(:alfa_podatak, ',', '.'));

Znači, u gornjem izrazu iz host varijable alfanumeričkog tipa :alfa_podatak zamenjuje se svaka pojava zareza tačkom.

Nije lepo, ali može da radi.
[ darko_sudarov @ 03.11.2006. 07:04 ] @
Probao sam i donekle to resi problem. Uradi on insert u XE ali sada mi upiti ne odgovaraju,query ne prepoznaje brojeve.I izvestaji koji su bili decimalni postaju celobrojni kao da zarez i ne postoji.Pokusao sam cak i u win da promenim decimalnu tacku u tacku ali ni to ne pomaze.Ovo postaje paranoicno.
[ dusanmiloradovic @ 03.11.2006. 09:07 ] @
Zdravo,

ovaj problem nema nikakve veze sa setovanjem windowsa.
Nije mi jasno zasto si uzeo primer sa alter table?
Nadam se da ne koristis alter table komandu u svom pl/sql kodu.
Siguran sam da sve ostalo radi ispravno kao ocekivano.

Ako na 90 posto racunara radi ispravno, sedi za jedan od tih racunara ,
udji u registry i prepisi na papir SVE nls parametre za svaki ORACLE_HOME.
Onda ih unesi u svoj registry. Restartuj racunar za svaki slucaj.
Siguran sam da ce proraditi.
Ako ne proradi, posalji molim te konkretnu gresku ovde.
Nema potrebe da stavljas alter session naredbe samo da bi ovo resio.

Dusan
[ djoka_l @ 07.11.2006. 15:42 ] @
Dušane, nisi potpuno u pravu. Ovde je Access iskorišćen kao user interfejs prema Oracle bazi. Moguće je da na klijentima ni ne postoji instalacija Oracle klijenta nego da se koristi ODBC drajver za Oracle koji je Microsoftov ili neki drugi.

Dakle, setovanja Windowsa imaju veliku ulogu kada se radi o ODBC ili JDBC drajverima ili nekom razvoju koji zaobilazi standarne ORACLE alate. Čak i neki Oracle proizvodi prave probleme (Raptor, JDeveloper) jer ne koriste NLS setovanja lokalne Oracle instalacije.

U svakom slučaju, potrebno je proveriti setovanje okruženja i preuzeti one vrednosti koje su na instalacijama koje ispravno rade, a sigurno treba proveriti i Oracle parametre (ako postoje) na klijentskim mašinama.
[ darko_sudarov @ 13.11.2006. 11:39 ] @
Access je iskoriscen kao user interface i to je tacno i koristim odbc za konektovanje (sistemski ne user-ako to ima nekakve veze) masina koju testiram nije klijent na njoj je bas instalirana 10gXE uzeta od korisnika radi testa.Definitivno je nesto do OS-a.Pokusacu sa registrima pa cu videti inace na ovoj masini se desi jos nesto cudno pa predpostavljam da ce i na ostalima-kada se promeni u control panel-u laguage i stavim serbian latinic gubi se veza sa bazom-mislim na jdeveloper i sqlbuilder.Home page za XE radi,baza radi, servisi rade, ali ni jedan od alata ga ne vidi (sem form buildera).Inace na drugoj masini na kojoj isto stoji srpska latinica sve dobro radi.Masine su iste po karakteristikama legalan update-ovan win i cuda nema firewall-ova ni antivirusa,skenirani na nezavisnoj masini.Sve sam pokusao cega sam se setio-pokusacu i sa registrima mirise na dobar put.Hvala na savetima.Ako jos nesto neko smisli bicu mu zahvalan.
[ darko_sudarov @ 22.11.2006. 07:30 ] @
Resio problem-onako kako je odmah i trebalo,instaliran novi os i sve radi?Zakljucak gremlini su manji no sto se mislilo :-)
[ vojon @ 17.07.2007. 09:15 ] @
U bazu registry ubaciti string nls_numeric_sharacters =",.";