[TYPO3-german] Extbase Queries und Stored Procedures

g4-lisz at tonarchiv.ch g4-lisz at tonarchiv.ch
Fri Feb 28 13:36:55 CET 2014


Hi Eddy,

Stored Procedures lassen sich nur mit dem CALL aufrufen...

Ich habe die halbe Nacht recherchiert und musste leider feststellen,
dass kaum zu machen ist. Bei 6.x ginge es wohl mit einem Hack, da hier
"schon" mysqli benutzt wird, aber beu 4.x habe ich keinen Lösungsansatz
gefunden. Höchstens den, dass man die DB-Connection nach jeder Abfrage
schließt und wieder neu öffnet. Das ist aber bestimmt nicht sehr
förderlich für die Performance.

Prinzipiell geht es darum, dass der Puffer zu Results-Handlern gelöscht
werden sollte, bevor eine weitere Abfrage an die DB-geschickt wird.

Ich werde nun wohl versuchen, die Abfragen durch Views zu ersetzen oder
das Ganze in eine eID-Aufruf zu exportieren, was dann aber wohl an den
Bildern scheitert, weil ich dann den GIFBUILDER benötige...

Grüße,
Till

On 02/28/2014 10:10 AM, Eddy Wolbert wrote:
> Hallo Till,
>
> soweit mir bekannt ist, funktionieren auch stored procedures in
> Repositories.
> Speziell zum verwendeten Call-Befehl kann ich jetzt nicht sagen, aber
> mit einem "handelsüblichen" Select tut die Sache, z.B.
>
> $query->statement(
> 'SELECT * FROM blablamodel WHERE name LIKE ? AND plz IN ?',
> array('%Liste%', array(6000,7000))
> );
>
> Vielleicht hängt es ja an deinen Arrays?
>
> Grüße
> Eddy
>
>
> Am 28.02.2014 00:14, schrieb g4-lisz at tonarchiv.ch:
>> Hallo,
>>
>> kann mir jemand sagen, ob ich bei Extbase Repositories in der query auch
>> stored procedures aufrufen kann, also etwa:
>>
>>    $query = $this->createQuery();
>>    $query->statement('CALL SP_Search_Behandlung(?,?)',
>> array($demand->getLeistungsgruppe(), trim($demand->getPlzort())) );
>>    return $query->execute();
>>
>> Eine direkte Abfrage via  $GLOBALS['TYPO3_DB']->sql_query("CALL...");
>> liefert mir Ergebnisse.
>> Unter Extbase kriege ich aber einen Rattenschwanz von
>> Fehlermeldungungen, alle in der Art: t3lib_DB::exec_DELETEquery ,
>> Commands out of sync; you can't run this command now
>>
>> Kann man das mit einem Trick beheben? Stored procedures wären in meinem
>> Fall sehr praktisch...
>>
>> Grüße,
>> Till
>> _______________________________________________
>> TYPO3-german mailing list
>> TYPO3-german at lists.typo3.org
>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>>
>
> _______________________________________________
> TYPO3-german mailing list
> TYPO3-german at lists.typo3.org
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german



More information about the TYPO3-german mailing list