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: 3846 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

_owl_

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



+3 Profil

icon CallableStatement.setBoolean() i Oracle PL/SQL funkcija09.12.2004. u 14:13 - pre 235 meseci
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
 
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: CallableStatement.setBoolean() i Oracle PL/SQL funkcija09.12.2004. u 15:47 - pre 235 meseci
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.
Blog - baze podataka
---------------------
Oracle OCP DBA (9i & 10g)
Oracle Database: SQL Certified Expert
Oracle OCP Developer
Certified MySQL DBA
 
Odgovor na temu

_owl_

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



+3 Profil

icon Re: CallableStatement.setBoolean() i Oracle PL/SQL funkcija09.12.2004. u 20:44 - pre 235 meseci
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
 
Odgovor na temu

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 - pre 235 meseci
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
 
Odgovor na temu

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

[ Pregleda: 3846 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

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