Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Poziv str procedure ne radi za jednog korisnika.... Zona sumraka!

[es] :: Oracle :: Poziv str procedure ne radi za jednog korisnika.... Zona sumraka!

[ Pregleda: 4816 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

noctua

Član broj: 10671
Poruke: 185
*.edn.co.yu.



Profil

icon Poziv str procedure ne radi za jednog korisnika.... Zona sumraka!06.12.2006. u 10:46 - pre 211 meseci
Pozdrav!

Juce mi se javio problem iz zone sumraka!
U pitanju je forms. Iz formsa se poziva procedura (iz paketa) koja odradi posao. Sve je radilo kako treba, skoro, godinu dana. Juce se nesto desilo (sta i sto?!?) i SAMO jedan korisnik ne moze da pozove jednu jedinu proceduru iz paketa! Sve ostalo radi kako treba (sve funkcije i procedure iz paketa, aplikacija, sve)!

Na poziv procedure javlja se greska ORA-06502 (PL/SQL: numeric or value error string). Proverio sam i ne saljem nigde NULL, nemam nikakvu konverziju, uvek se prosledjuju svi parametri koji se poklapaju sa tipom parametara u proceduri, ni jedan ne prelazi dozvoljenu duzinu, nije u pitanju ni karakter set... Cak, svi ostali korisnici rade normalno, bez ove greske...

Nemam ideju sta je i kako da resim problem...

Ideje, saveti, ista?




http://noctua4u.blogspot.com
http://moourl.com/shfb0
..:: Aquila non captat muscas ::..
 
Odgovor na temu

bigjatovic
Bozidar Ignjatovic
Nis

Član broj: 7134
Poruke: 20
*.dynamic.sbb.co.yu.



Profil

icon Re: Poziv str procedure ne radi za jednog korisnika.... Zona sumraka!06.12.2006. u 18:59 - pre 211 meseci
Da li si proverio da nema apostrofa u tekstu koji unosi '?
Koji je OS na klijentkoj masini?
BIgnjatovic
 
Odgovor na temu

Dejan Topalovic
Dejan Topalović
Senior Oracle DBA & Senior PL/SQL
Developer, Erste Sparinvest (Erste
Bank), Vienna, Austria
Vienna

Član broj: 635
Poruke: 1374
*.1.14.vie.surfer.at.

Sajt: www.baze-podataka.net


+2 Profil

icon Re: Poziv str procedure ne radi za jednog korisnika.... Zona sumraka!06.12.2006. u 22:34 - pre 211 meseci
Kopiraj nam deklaraciju tu procedure i dio kôda kojim pozivas tu proceduru...
Da li si probao debugovati taj proces?
Blog - baze podataka
---------------------
Oracle OCP DBA (9i & 10g)
Oracle Database: SQL Certified Expert
Oracle OCP Developer
Certified MySQL DBA
 
Odgovor na temu

noctua

Član broj: 10671
Poruke: 185
*.edn.co.yu.



Profil

icon Re: Poziv str procedure ne radi za jednog korisnika.... Zona sumraka!07.12.2006. u 08:05 - pre 211 meseci
Pozdrav!

Ne koriste se nikakvi apostrofi, nema SPACEa, ne koristim nikakve nestandardne pakete...
Pokusao sam debug ali greska se javi na samom pozivu str proc. Dakle, ide linija po linija, uz put pratim sve parametre i sve je regularno i ispravno (?) i na liniji gde poziva proc, jednostavno odradi exception...
Kod je vrlo jednostavan:
tmpStatus je OUT parametar (0,1) koji samo obavestava da li je uspesna ili neuspesna akcija
tmpPoruka je OUT parametar koji vrati neki ljubazan text o obavljenom ili neobavljenom poslu (objasni tmpStatus)

Code:

DECLARE
    tmpStanjeENaloga NUMERIC := 0; 
    tmpStatus NUMERIC := 0;
    tmpPoruka VARCHAR2(1024);
    dugme NUMBER;
begin
    IF :BL_ELEKTRONSKI_NALOG.BROJ_NALOGA IS NULL THEN
           -- ALERT o tome kako ne moze da zatvori bez naziva
    ELSE
        dugme := prikazi_pitanje('zatvaranje e. naloga', 'Da li želite da zatvorite elektronski nalog?');
        IF (1 = dugme) THEN 
            -- Poziv procedure
                sasas.blagajna.elektrosnkiNalogClose(
                BL_ELEKTRONSKI_NALOG.BROJ_NALOGA,
                USER,
                tmpStanjeENaloga ,
                tmpStatus,
                tmpPoruka
                );
             -- ALERT o uspesnosti
        END IF;
    END IF;
end;


i u liniji sasas. jednostavno pukne i (i forms i debuger) pozove OnError... U casovima ocaja sam stavljao i BEGIN-EXEPTION na poziv, menjao sam sa to_char parametre... nista... i dalje taj (SAMO) jedan korisnik ima gresku tu. Proveravao sam bazu... Sve je regularno, i funkcionisanje i podaci....
I dalje nemam ideju...

PS. E da: OS = Win2003Srv DB = Oracle10.1.0.2.0 a Forms = 9.0.4.0.19
http://noctua4u.blogspot.com
http://moourl.com/shfb0
..:: Aquila non captat muscas ::..
 
Odgovor na temu

djoka_l
Beograd

Član broj: 56075
Poruke: 3453

Jabber: djoka_l


+1462 Profil

icon Re: Poziv str procedure ne radi za jednog korisnika.... Zona sumraka!07.12.2006. u 09:37 - pre 211 meseci
Teško je reći, ali pošto se to događa samo za jednog korisnika, a u pozivu procedure imaš parametar USER, ja bih prvo to pogledao.
 
Odgovor na temu

bigjatovic
Bozidar Ignjatovic
Nis

Član broj: 7134
Poruke: 20
*.dynamic.sbb.co.yu.



Profil

icon Re: Poziv str procedure ne radi za jednog korisnika.... Zona sumraka!07.12.2006. u 10:43 - pre 211 meseci
Za OS sam mislio na klijentsku masinu na kojoj ne radi...
1. Ukoliko je XP home moze da zeza idiotski tzv "firewall" koji zatvara portove koje forms koristi kako i kada on hoce i ne moze se nikada podesiti...
2. Problem moze da bude i u prikazi_pitanje proceduri koja podize prozor, tj ukoliko je to novi canvas i imas centriranje kanvasa, nastaje problem ukoliko nls_numeric na LOKALNOJ masini nije podesen kako treba
3. Siguran si da ulazi u granu IF (1 = dugme) THEN. Ukoliko tu ulazi obavezno prvo istrejsuj parametre poziva procedure tj USER recimo vrati u promenljivu.
Skoro nikada (sem u brzini) nisam koristio user i sysdate iz formsa, retki su problemi sa njima ali su zestoki. Uvek napises neku proceduru koja ti vrati init parametere iz baze tipa get_init(c_user,d_tsysdate, ...)
4. Ako ne resis problem posalji nam sta si "istrejsovao"

Srecno


BIgnjatovic
 
Odgovor na temu

Dejan Topalovic
Dejan Topalović
Senior Oracle DBA & Senior PL/SQL
Developer, Erste Sparinvest (Erste
Bank), Vienna, Austria
Vienna

Član broj: 635
Poruke: 1374
*.it-austria.net.

Sajt: www.baze-podataka.net


+2 Profil

icon Re: Poziv str procedure ne radi za jednog korisnika.... Zona sumraka!07.12.2006. u 11:02 - pre 211 meseci
Hm, ako ni sa "EXCEPTION WHEN OTHERS THEN ..." ne mozes uhvatiti gresku, onda je to neki bug. Da li si probao trejsovati na nivou servera, a ne na nivou procedure/formsa?

Da li bi nam mogao kopirati deklaraciju za rutinu sasas.blagajna.elektrosnkiNalogClose? Koje parametre prima i sta vraca nazad?
Blog - baze podataka
---------------------
Oracle OCP DBA (9i & 10g)
Oracle Database: SQL Certified Expert
Oracle OCP Developer
Certified MySQL DBA
 
Odgovor na temu

dusanmiloradovic
Dusan Miloradovic
Abu Dabi

Član broj: 38080
Poruke: 45
195.49.28.*



Profil

icon Re: Poziv str procedure ne radi za jednog korisnika.... Zona sumraka!07.12.2006. u 13:22 - pre 211 meseci
Zasto ne uradis 100046 trace na nivou 12 za sesiju tog korisnika, vidis lepo koje je bind variable poslao samoj bazi...
Ako koristis 10g, mozes da vidis bind variable i iz audit loga...

Pozdrav,
Dusan
 
Odgovor na temu

noctua

Član broj: 10671
Poruke: 185
*.edn.co.yu.



Profil

icon Re: Poziv str procedure ne radi za jednog korisnika.... Zona sumraka!07.12.2006. u 14:17 - pre 211 meseci
Pozdrav!
Evo deteljnijih "izvestaja"
Serveri: Win2003Srv, Oracle10.1.0.2.0, Forms 9.0.4.0.19 (webforms), JInit 1.3.1.18
Klijenti: svi su XP Prof, JInit 1.3.1.18
Mreza: domen, ActiveDir. FW (hardverski) samo filtrira "izlazni" saobracaj, u okviru mreze nema nikakvih ogranicenja. Aplikacija se ne "vidi od spolja". XP-ov FW je iskljucen na svim klijentima (Inace, sve klijentske maxine su instalirane sa istog image-a i identicna su podesavanja)

Pokusavao sam da menjam parametre u pozivu ubacujuci konstante vrednosti za tog korisnika, pokusao sam sa to_char (i ostale TO_ funkcije) da konvertujem parametre, pokusao sa tmpParam1-n da zamenim parametre u proceduri a prethodno im dodelim vrednosti, pokusao sa EXCEPTION... i nista.

Sto se tice USER-a, tu u stvari ne stoji USER, nego :BL_ELEKTRONSKI_NALOG.KORISNIK_ID... uizvin'te... moja greska jer sam postovao (copy/paste) dok sam menjao parametre i probavao... svasta ocajnom pada na pamet... :\

Aplikacija je tako napisana da ne dozvoljava nikakve brljotine u nazivima (postoji "parser" koji cisti "gluposti" iz tekstualnih polja... korisnici su mi mnogoooo dovitljivi i inovativni i sve je to spreceno) i 100% nema nikakvih nedozvoljenih simbola (%, space, ', ", itd). Inace, prilikom pokretanja prve forme, vrsi se autorizacija/autentifikacija i USER se ne koristi nigde...

Uvek pukne na sam poziv procedure... Inace imam u bazi drugu proceduru koja loguje greske prilikom rada.... i u njoj uopste nema podataka o gresci i o problematicnom korisniku... Dakle, moj zakljucak je da nista ne prosledi bazi odnosno da uopste ne pozove proceduru!!!

Parametri su u obliku:
broj naloga: NALOG_BR_1, (ime_redni_broj)
korisnik id: 330033B (6_brojeva_i_slovo)
Procedura je:
Code:

 PROCEDURE elektrosnkiNalogClose  (
  inpBrojNaloga    IN BL_ELEKTRONSKI_IZVOD.BROJ_NALOGA%TYPE,
  inpKorisnik      IN BL_ELEKTRONSKI_IZVOD.NALOG_ZA_KORISNIKA%TYPE,
  outStanjeNaloga  OUT BL_ELEKTRONSKI_IZVOD.ZATVOREN%TYPE,
  outIzlaz         OUT NUMERIC,
  outText          OUT VARCHAR2
) AS
  tmpSmena NUMBER(1) := 4;-- Smena za PTT naloge je 4
  tmpIznos NUMBER;        -- Zbog poziva procedure za dokumenta
  tmpIzlaz NUMBER;        -- --------------||-----------------
  tmpText  VARCHAR2(1024);-- --------------||-----------------
  pogonDokument BL_FINANSIJSKE_PROMENE.POGON_DOKUMENTA%TYPE;
BEGIN

  -- Inicijalizacija globalnih parametara:
  MODUL_GRESKE    := 'Zatvaranje EL. naloga (elktrosnkiNalogClose)'; -- Naziv procedure (Za obradu gresaka)
  POSTOJI_SLOG    := 0; -- Trazeni slog ne postoji
  outIzlaz        := 0; -- Status akcije (0 uspesna)
  outStanjeNaloga := 1; -- Stanje naloga je zatvoren
  outText         := 'Nalog broj ' || inpBrojNaloga || ' je OBRAÐEN i ZATVOREN!'; -- Propratni text akcije
...

Ukoliko se na bilo kom mestu u proceduri desi greska, upise se njen kod, mesto greske, ko je izazvao gresku i kako je izazvao u posebnu tabelu i promeni se outIzlaz na 1 i outText na nesto tipa 'Desila se greska i nalog nije zatvoren...'

PS. Da, uvek ulazi u IF... tu nije problem...

PSS. Nasao sam solomonsko resenje: otvorio coveku novi oracle nalog, "na ruke" prebacio sve njegove podatke na taj novi nalog da bi ovaj mogao da radi (i radi!!!). Ali ostaje problem jer je originalni nalog "vezan" sa Kadrovskom... i moracu za koji dan da sredim to...

http://noctua4u.blogspot.com
http://moourl.com/shfb0
..:: Aquila non captat muscas ::..
 
Odgovor na temu

noctua

Član broj: 10671
Poruke: 185
*.edn.co.yu.



Profil

icon Re: Poziv str procedure ne radi za jednog korisnika.... Zona sumraka!22.12.2006. u 08:37 - pre 210 meseci
Pozdrav!

Problem je ostao n e r e s e n!
Dizem ruke...

Pisali smo metalink-u. Eskalirali problem i cekamo da vidimo sta ce strucnjaci da osmisle.

Jedino sto sam primetio da bi, mozda, moglo da prouzrokuje ovakav problem je Windows update... update se vrsi svake noci i primenjuje se na celokupnu mrezu. Normalno, kad ima nekog zvanicnog update-a. E, sad, noc pre cudnog dogadjaja je bio update...

Mislim... najverovatnije da nema nikakve veze, (a i kakve veze bi imao win sa oracle str. proc?!?) ali to je jedino sto je preostalo i sto mi pada na pamet...

Nema logike, ali nema vise ni ideje...


PS. Problem sam resio tako sto sam napravio coveku nalog, i deo njegovog posla je razdeljen njegovim kolegama... Pa, ako se pojavi nekad neko resenje, javljam...
http://noctua4u.blogspot.com
http://moourl.com/shfb0
..:: Aquila non captat muscas ::..
 
Odgovor na temu

Dejan Topalovic
Dejan Topalović
Senior Oracle DBA & Senior PL/SQL
Developer, Erste Sparinvest (Erste
Bank), Vienna, Austria
Vienna

Član broj: 635
Poruke: 1374
*.it-austria.net.

Sajt: www.baze-podataka.net


+2 Profil

icon Re: Poziv str procedure ne radi za jednog korisnika.... Zona sumraka!22.12.2006. u 09:35 - pre 210 meseci
Eh, taj MetaLink... I ja muku mucim sa supportom, a prosle sedmice sam im odbrusio da nisam zadovoljan njihovim radom. Od tada nisam dobio nikakav odgovor.

Vise o tome mozes naci na mom blogu...
Blog - baze podataka
---------------------
Oracle OCP DBA (9i & 10g)
Oracle Database: SQL Certified Expert
Oracle OCP Developer
Certified MySQL DBA
 
Odgovor na temu

[es] :: Oracle :: Poziv str procedure ne radi za jednog korisnika.... Zona sumraka!

[ Pregleda: 4816 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.