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

CallableStatement.setBoolean() i Oracle PL/SQL funkcija

[es] :: Java :: CallableStatement.setBoolean() i Oracle PL/SQL funkcija

[ Pregleda: 1278 | Odgovora: 3 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

_owl_
Centar - BG

Član broj: 318
Poruke: 989
*.vdial.verat.net.

Sajt: home.drenik.net/~owl


Profil

icon CallableStatement.setBoolean() i Oracle PL/SQL funkcija09.12.2004. u 14:13

Kada iz Jave preko CallableStatement.setBoolean() pozovem PL/SQL proceduru kojoj treba da prosledim parametar tipa boolean dobijam sledecu gresku:
Code:

java.sql.SQLException: ORA-06550: line 1, column 13:
PLS-00306: wrong number or types of arguments in call to 'INSERT_KANDIDAT'
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored

java.lang.Exception
        at KandidatDB.insert(KandidatDB.java:28)
        at TestKandidatDB.main(TestKandidatDB.java:12)
Press any key to continue . . .

Pomenuta funkcija je definisana kao:
Code:

FUNCTION INSERT_KANDIDAT(p_jmbg IN kandidat.jmbg%TYPE, p_ime IN kandidat.ime%TYPE, p_prezime IN kandidat.prezime%TYPE, p_sifra_skole IN kandidat.sifra_skole%TYPE, p_oslobodjen IN BOOLEAN, p_svedocanstva IN lista_svedocanstva) RETURN NUMBER;

Kada iz koda i procedure izbacim pojavljivanje parametra p_oslobodjen funkcija se izvrsi bez greske. Da li je neko imao ovakav problem (i kako ga je resio) ??
Owl
09.12.2004. u 14:13 

Dejan Topalovic
Dejan Topalović
Oracle DBA & PL/SQL Developer, Erste Sparinvest (..
Vienna

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

ICQ: 20142302
Sajt: www.outsourcing-it.com


Profil

icon Re: CallableStatement.setBoolean() i Oracle PL/SQL funkcija09.12.2004. u 15:47
Hm, ne znam da li je ova poruka za podforum Oracle ili Java, pa cemo sacekati malkice dok ne ustanovimo :)
Mozes li poslati Java source kod (ili barem taj kljucni dio) aplikacije, da bismo imali bolji uvid u razlog tog problema?

Jesi li pokusao tu funkciju pokrenuti u nekom clientu, da vidis direktno efekat njenog izvrsavanja i to sa razlicitim parametrima (sa tim p_oslobodjen i bez)?

Koliko ja znam, nije moguce koristiti boolean datatype za in ili out parametre pri prosljedjivanju tih podataka stored procedurama iz Jave ili Microsoft ActiveX Data Objects...
Pokusaj koristiti neki drugi datatype (int ili varchar2) umjesto boolean.
09.12.2004. u 15:47 

_owl_
Centar - BG

Član broj: 318
Poruke: 989
*.vdial.verat.net.

Sajt: home.drenik.net/~owl


Profil

icon Re: CallableStatement.setBoolean() i Oracle PL/SQL funkcija09.12.2004. u 20:44
Da, tako nesto sam i ja pretpostavljao posto u dokumentaciji za CallableStatement stoji da metoda setBoolean logicku vrednost pretvara u SQL tip BIT (koji cini mi se Oracle ne podrzava).
Nisam probao iz nekog klijenta (pretpostavljam da mislis na nesto tipa SQL plus), mada posto sam resio problem nisam se mnogo udubljivao zasto to ne radi.




Owl
Prikačeni fajlovi
09.12.2004. u 20:44 

dusanmiloradovic
Dusan Miloradovic
Abu Dabi

Član broj: 38080
Poruke: 45
*.ceetel.co.yu.



Profil

icon Re: CallableStatement.setBoolean() i Oracle PL/SQL funkcija13.12.2004. u 09:57
Stvar je u tome sto je boolean u Oracleu PL/SQL tip podatka, a ne SQL tip podatka.
Naime, ako probas:

SQL> create table x(y boolean)
2 /
create table x(y boolean)
*
ERROR at line 1:
ORA-00902: invalid datatype

Kao, sto vidis , Oracle ga ne prepoznaje kao SQL tip.
Bez obzira sto ti sa CallableStatement zoves stored proceduru, i dalje se ocekuje kao ulaz SQL tip.
(Zato sto CallableStatement nasledjuje Statement)

Pozdrav,
Dusan
13.12.2004. u 09:57 

[es] :: Java :: CallableStatement.setBoolean() i Oracle PL/SQL funkcija

[ Pregleda: 1278 | Odgovora: 3 ]

Postavi temu Odgovori

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