[Javalist] SQLJ generált kód

Keresztes Jozsef jkeresztes at vati.hu
2012. Aug. 29., Sze, 12:05:01 CEST


Igen az SQLJ-ben ":valtozo" szintaktikával hivatkozhattál az osztály példányod egy tagjára,
vagy egy másik osztály példányra is lehet hivatkozni, csak akkor zárójelezni kell:
"(:masikpeldany.darabszam)"
Na ezeket kell mind "?" -re replace-elni a PreparedStatement-ben... 

Tehát a Java-ban egyszerűen írhatsz ilyen sorokat:
#sql [dc] { SELECT count(*)  INTO :darab FROM belepes WHERE azon = :(user.belepes_azon) };

Ha ilyeneket írsz a java forrásban akkor a file nevének ".sqlj" kiterjesztésűnek kell lenni.
A precompiler pedig ezt csinálja:    Valami.sqlj -> Valami.generated.java

-----Original Message-----
From: Laszlo Hornyak [mailto:laszlo.hornyak at gmail.com] 
Sent: Wednesday, August 29, 2012 11:16 AM
To: Java lista
Subject: Re: [Javalist] SQLJ generált kód

Hali!

Nekem baromi régen volt ez az SQLJ, lehet keverem már a PROC (vagy
postgreben volt hasonló a ecpg) cuccal de nem a :szám volt a standard?
Aztán hogy mibe fordítja le a lekérdezést a precompiler (fúúújjj) az
már elvileg a magánügye kellene hogy legyen.

Persze kit érdekel a standard, működjön :-)

2012/8/29 Keresztes Jozsef <jkeresztes at vati.hu>:
> Sziasztok !
>
> Van egy problémánk az SQLJ-vel.
> Szóval pár régebbi projektünk SQLJ-t használ, mögöttük Oracle adatbázis volt.
> Most szeretnénk ha EnterpriseDB lenne mögöttük. Azonban ez nem megy az SQLJ-vel együtt, pedig az SQLJ-ből a fordító
> szabványos JDBC hívásokat generál, legalábbis így gondoltuk. Aztán nyomoztunk és sajnos a PreparedStatement-nek átadott
> generált sql parancs pl ilyesmi:
>
> "SELECT ab FROM cd WHERE ef = :1"
>
> És ugye olyan hogy ":1" nem szabványos, hiszen a paraméterek csak "?" formában szerepelhetnek.
> Namost ez azért nem tűnt fel évekig, mert az Oracle jdbc-driver így is elfogyasztotta a parancsot, az EnterpriseDB jdbc-driver
> pedig nem fogadja el (igaza van!)
> Tudom hogy több megoldás van pl. el kell felejteni az SQLJ-t, és mást használni stb.
>
> De inkább arra lennék kíváncsi közületek belefutott-e valaki ebbe a problémába, és rá tudta-e venni az SQLJ-fordítót,
> hogy a szabványos "?"-et használva generáljon kódot ?
>
> Üdv, Joe
>
>
>
> _______________________________________________
> Javalist mailing list
> Javalist at lists.javaforum.hu
> http://lists.javaforum.hu/mailman/listinfo/javalist



-- 

EOF
_______________________________________________
Javalist mailing list
Javalist at lists.javaforum.hu
http://lists.javaforum.hu/mailman/listinfo/javalist



További információk a(z) Javalist levelezőlistáról