habe nun das Problem, das ich einen Cronjob erstellen möchte welcher mir alle Bestellungen in eine MSSQL DB exportiert.
Das sollte soweit nicht das Problem sein, jedoch finde ich keine möglichkeit die bankdaten aus der Tabelle oxuserpayments im feld “oxvalues” auslesen zu lassen. Ist ja bekanntlich ein Blob nur wie komme ich hier an den Text ran?
oxid macht das irgendwie mit “DECODE”, wenns reines sql sein soll.
ich würde dir aber nahelegen dir ein kleines script zu schreiben welches richtig die objekte von OXID bildet und das kannst du dann wie gewohnt auslesen.
habe nun das Problem, das ich einen Cronjob erstellen möchte welcher mir alle Bestellungen in eine MSSQL DB exportiert.
Das sollte soweit nicht das Problem sein, jedoch finde ich keine möglichkeit die bankdaten aus der Tabelle oxuserpayments im feld “oxvalues” auslesen zu lassen. Ist ja bekanntlich ein Blob nur wie komme ich hier an den Text ran?
bitte um schnelle hilfe.
liebe grüße[/QUOTE]
Versuche es mal damit:
SELECT CONVERT( deinBlobfeld USING latin1 ) AS Feld FROM deineTabelle
Wobei statt “latin1” u.U. ein anderer Zeichensatzwert verwendet werden muss, wenn die Umlaute nicht stimmen…
SELECT CONVERT( deinBlobfeld USING latin1 ) AS Feld FROM deineTabelle
Wobei statt “latin1” u.U. ein anderer Zeichensatzwert verwendet werden muss, wenn die Umlaute nicht stimmen…[/QUOTE]
hmm leider hat das ganze nicht funktioniert, bin aber in der zwischen zeit schon drauf gekommen das das ganze base64 verschlüsselt wurde (bin mir da aber noch nicht 100%ig sicher), dennoch habe ich leider keine verwertbaren daten rausbekommen.
oxid macht das irgendwie mit “DECODE”, wenns reines sql sein soll.
ich würde dir aber nahelegen dir ein kleines script zu schreiben welches richtig die objekte von OXID bildet und das kannst du dann wie gewohnt auslesen.
naja will bzw kann aus mehreren gründen eig nicht zusätzlich oxid objekte in den cronjob einpacken. deswegen würde ich mir, soweit benötigt, die funktionen rauskopieren.
Hier für diejenigen, die die Daten mal kurz in phpmyadmin auslesen wollen, die entsprechende Query:
SELECT DECODE(OXVALUE, ‘sd45DF09_sdlk09239DD’) AS OXVALUEDECODED
FROM oxuserpayments
WHERE OXUSERID = ‘hier_eine_oxuserid_eintragen’
Der zum Decoden notwendige Schlüssel sd45DF09… ergibt sich aus den oben bereits genannten Stringoperationen (s. /core/oxuserpayment.php). Den Schlüssel für den Nutzer entsprechend ändern.
Da die Entschlüsselung der Zahlungsartdaten somit sehr leicht möglich ist, könnte man auf sie auch verzichten. Ist offenbar eine Altlast aus OXID1-3-Tagen.
nur zur Info: Die boolschen Werte werden korrekt mit 1 oder als leeres Feld ausgegeben. Unter latin1 ist das Ergebnis genau so wie unter utf8.
Mit welcher OXID, PHP, MySQL, phpMyAdmin Version hast Du das falsche Ergebnis?
Funktioniert sonst alles im Shop einwandfrei und keine Fehlerhinweise in den log files?