PHP/ODBC Nav4 - BLOB Felder unvollständig

10. Oktober 2007 23:41

Also zuerst: hallo. Ich arbeite normalerweise nicht mit Navision, aber unser jetziger Kunde schon - ich komme also, mal wieder, wie die Jungfrau zum Kind. Ja wer kennt das nicht...

Ich hab gesucht, und etwas ähnlichesgefunden, nur die Lösung stimmt nicht, bzw. die Umstände sind etwas anders.

Unser Kunde benutzt also NAV4 und möchte die Daten auf seiner Website abrufbar machen. Ich habe dazu eine simple Schnittstelle konstruiert die via ODBC und PHP die Daten aus der Navision Datenbank einließt, und die umstrukturierten Daten in die MYSQL Datenbank exportiert. Soweit kein großes Problem. Letzer Punkt sind jetzt die Produktbilder, klassisch in Navision: das Feld "Image" in der "Item" Tabelle. Abgesehen von der Tatsache das defacto keinerlei Datenbankfuntionen auf das BLOB Feld anwendbar sind (via ODBC) verhält sich das Ding merkwürdig.

Folgende Fälle:
a) Ein Bild kleiner als 64kb
b) Ein Bild größer als 64kb (Versuche mit 455kb, 271kb und 86kb, selbes Ergebnis)

a) Der Feldinhalt wird anstandslos eingelesen, ich kann die Bilddaten in JPEG konvertieren und in MYSQL ablegen - wunderbar.

Leider sind die Bilder natürlich größer als 64kb.

b) Der Inhalt wird eingelesen und TEILWEISE übergeben. Ich kann, mit etwas Zauberei ein Bild erhalten, allerdings fehlt ein Stück. Tatsächlich fehlen jeweils ziemlich genau 64kb.

Meint: ist das Bild (ergo die Datenmenge im BLOB Feld) größer als 64kb schneidet er mir genau diese 64kb ab. Vielleicht ist das für euch offensichtlich und absolut logisch, ich steh leider auf der Leitung und kann mir das nicht erklären. Also seid so nett und erleuchtet mich, ich wäre euch sehr verbunden :wink:.

Schöne Grüße aus Wien, M.B.

11. Oktober 2007 07:22

Hi,

ich nehme an, du verwendest fuer den ODBC Zugriff den C/ODBC Treiber. In den Options davon habe ich den Eintrag "Enable BLOB Fields" gesehen. Der sollte aktiviert sein.
Ob es das schon war, kann ich leider nicht sagen, da ich konkret damit noch nicht gearbeitet habe... :oops:

Bild

Gruesse
feri

11. Oktober 2007 08:52

Ja ich verwende den C/ODBC Treiber über die Windows "Datenquellen". Die BLOB Felder sind dort natürlich aktiv. Der Punkt ist ja, es funtkioniert wenn die Bilddatei kleiner ist (vielleicht legt er sie dann anders, also nicht wirklich als BLOB ab?), und wenn sie größer ist fehlt eben ein Teil. Ich versuche noch herauszufinden welcher Teil fehlt (Anfang, Ende, sonstwo). Soweit ichs bisher sagen kann fehlt das Stück am Ende.