Helios co.
Lt. Commander
- Registriert
- März 2005
- Beiträge
- 1.863
Hallo @ all,
ich habe ein Problem, das mich zur Verzweiflung treibt. Hoffentlich könnt ihr mir helfen. Im Voraus schon mal vielen Dank für jeden Tipp!
Ich verwende iBatis und habe nun folgende Beispielquery:
Wie ihr seht, versuche ich die Query an eine PLSQL Funktion zu übergeben, und das als String. Darüberhinaus werden 2 numerische Werte als Argument an die Funktion übergeben.
In der Query habe ich 2 iBatis Anteile: Einmal den include und dann noch den Parameter #requestedGroupName#.
Der include wird wie gewünscht aufgelöst, nicht aber der Parameter, so dass ich stets einen Fehler bekomme.
Ich habe bereits versucht via Konkatenation (||) den Parameter an den String dranzukleben, leider ohne Erfolg.
Mir ist klar, dass ich zumindest in dem obigen Fall den Parameter #requestedGroupName# auch direkt an die PLSQL Funktion als Argument reichen könnte, das würde auch funktionieren.
Ich habe aber leider noch andere queries wo diese Vorgehensweise leider nicht mehr klappen würde!
Bin wirklich dankbar für jeden Rat, da ich mir langsam meine letzten Haare am ausreissen bin!
Nachtrag:
Hmm, weiss wirklich keiner Rat?
Nachtrag2
Dann muss ich wohl meine Frage selbst beantworten. Es geht schlicht nicht. Die iBatis tags werden quasi zur Laufzeit zusammengebaut, die iBtais Parameter kommt erst in die Query wenn diese schon zusammengbaut ist (PreparedStatement). D.h. zur Laufzeit ist da lediglich ein ?
Trotzdem danke für euer Interesse.
ich habe ein Problem, das mich zur Verzweiflung treibt. Hoffentlich könnt ihr mir helfen. Im Voraus schon mal vielen Dank für jeden Tipp!
Ich verwende iBatis und habe nun folgende Beispielquery:
Code:
<select id="getPendingUserByUsername"resultMap="UserCommon.userWithActivationCode" parameterClass="userParam">
SELECT * FROM TABLE (User_Package.testfunction('SELECT <include refid="commonUserAttributes"/> , activation_code
FROM pendingUser
LEFT JOIN ldapUser USING (user_name)
WHERE spammer = 0
AND user_name = '''#requestedGroupName#'',10,1))
</select>
Wie ihr seht, versuche ich die Query an eine PLSQL Funktion zu übergeben, und das als String. Darüberhinaus werden 2 numerische Werte als Argument an die Funktion übergeben.
In der Query habe ich 2 iBatis Anteile: Einmal den include und dann noch den Parameter #requestedGroupName#.
Der include wird wie gewünscht aufgelöst, nicht aber der Parameter, so dass ich stets einen Fehler bekomme.
Ich habe bereits versucht via Konkatenation (||) den Parameter an den String dranzukleben, leider ohne Erfolg.
Mir ist klar, dass ich zumindest in dem obigen Fall den Parameter #requestedGroupName# auch direkt an die PLSQL Funktion als Argument reichen könnte, das würde auch funktionieren.
Ich habe aber leider noch andere queries wo diese Vorgehensweise leider nicht mehr klappen würde!
Bin wirklich dankbar für jeden Rat, da ich mir langsam meine letzten Haare am ausreissen bin!
Nachtrag:
Hmm, weiss wirklich keiner Rat?
Nachtrag2
Dann muss ich wohl meine Frage selbst beantworten. Es geht schlicht nicht. Die iBatis tags werden quasi zur Laufzeit zusammengebaut, die iBtais Parameter kommt erst in die Query wenn diese schon zusammengbaut ist (PreparedStatement). D.h. zur Laufzeit ist da lediglich ein ?
Trotzdem danke für euer Interesse.
Zuletzt bearbeitet: