Tweetymax Geschrieben 29. Juli 2008 Teilen Geschrieben 29. Juli 2008 Hallo, ich habe ein Problem, bei dem ich ein wenig feststecke. Ich muss alle Tabellen von Access in eine MySQL Datenbank importieren. Soweit kein Problem, doch in einer Tabelle befinden sich OLE-Objekte (ausschließlich Bilder) welche ich zwar auch importiert bekomme, wo von Access über die ODBC-Schnittstelle jedoch scheinbar noch etwas angehängt wird, so dass die Informationen, welche sich in MySQL befinden nicht wirklich nutzbar sind. Der import von Access (über ODBC) -> MySQL (direkt) soll über PHP erfolgen Hat jemand eine Idee, wie ich die OLE-Objekte unverändert zurückgegeben bekomme? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 29. Juli 2008 Teilen Geschrieben 29. Juli 2008 verstehe ich das richtig, das Access soll weg und dafür nimmst Du mySQL + PHP? Du musst die OLE Objekte wieder in die binär Formate umwandeln (d.h. urspüngliche Dateien) und dann in Blobs (davon rate ich aber ab) in der mySQL Tabelle ablegen. Wandel die OLE Objekte in Dateiform zurück, und speichere innerhalb der mySQL Tabelle einen Pfad auf die Datei, die Du dann auf dem Server hinterlegt. PHP kannst Du dann anhand des Dateityps anweisen, einen entsprechenden Mimetyp beim Versand der Daten zu generieren HTH Phil Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Tweetymax Geschrieben 29. Juli 2008 Autor Teilen Geschrieben 29. Juli 2008 verstehe ich das richtig, das Access soll weg und dafür nimmst Du mySQL + PHP? Du musst die OLE Objekte wieder in die binär Formate umwandeln (d.h. urspüngliche Dateien) und dann in Blobs (davon rate ich aber ab) in der mySQL Tabelle ablegen. Wandel die OLE Objekte in Dateiform zurück, und speichere innerhalb der mySQL Tabelle einen Pfad auf die Datei, die Du dann auf dem Server hinterlegt. PHP kannst Du dann anhand des Dateityps anweisen, einen entsprechenden Mimetyp beim Versand der Daten zu generieren HTH Phil Ja du hast es richtig verstanden ABER ... das Problem ist ja dass ich die Bilder nicht mehr in eine Dateiform bekomme, da PHP mit dem, was über ODBC von Access geliefert nichts anfangen kann. Wenn ich mir das ganze als String ansehe, schreibt er was von PhotoImpact. Wenn ich das ganze als Datei speichere ist der selbe Mumpitz, und das Bild kann nicht geöffnet werden da es fehlerhaft ist. Und nein (Falls die Frage kommen sollte) dir Bilder in Access sind nicht fehlerhaft, von dort aus ist das öffnen Problemlos möglich. Das ist ja mein dilemma... wo ich die Bildere speiche ist im endeffekt egal, da ich über ODBC eh nur mist bekomme. Bin schon am Probieren, ob es hilft, wenn ich bestimmte Bytes einfach weglasse. Bisher aber leider auch ohne Ergebnis. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
HJST1979 Geschrieben 29. Juli 2008 Teilen Geschrieben 29. Juli 2008 flashpixx meint ja du sollst aus Access die Bilddateien erzeugen :-) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 29. Juli 2008 Teilen Geschrieben 29. Juli 2008 (bearbeitet) Ich kenne das Problem, da ich das selbst hatte. Du musst die Bilder eben wieder in JPEG / PDF / PNG o.ä. umwandeln. Eine andere Möglichkeit hast Du nicht. Ich würde innerhalb von Windows die Daten öffnen und in einem anderen Format speichern. Mir ist nicht bekannt, dass es eine fertige PHP OLE Komponente gibt, außerdem wärst Du dann an PHP unter Windows gebunden. Und der Ansatz einfach ein paar Bytes wegzulassen wird nicht funktionieren, denn soweit ich weiß ist OLE ein Binärformat. Wenn Du dies machen willst, dann musst Du im Grunde einen OLE Export selbst in PHP schreiben und Dir muss das Format komplett bekannt sein (ich gehe nicht davon aus, dass man das irgendwo nachlesen kann) Danke @HJST1979, genau das meinte ich: OLE in Access öffnen und neu speichern in JPEG o.ä. Phil Bearbeitet 29. Juli 2008 von flashpixx Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Tweetymax Geschrieben 29. Juli 2008 Autor Teilen Geschrieben 29. Juli 2008 sowas hab ich fast befürchtet, nachdem ich nirgens was gefunden habe... Problem ist nur, dass es doch etliche Bilder sind... bei 100 währe das ja noch machbar, auch wenns derbe nervig währe... aber es sind doch um einiges mehr... sehr viele kleine. Wenn ich nun jedes Bild dafür einzeln exportieren muss, dann erschieß ich mich, nachdem ich Microsoft in die Luft gesprengt habe Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 29. Juli 2008 Teilen Geschrieben 29. Juli 2008 Wie wäre es, wenn Du eben OLE nutzt und automatisiert die Umwandlung machst? Phil Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Reinhold Geschrieben 29. Juli 2008 Teilen Geschrieben 29. Juli 2008 Moin, u.U. hilft dir ACC: Reading, Storing, & Writing Binary Large Objects (BLOBs) Gruß Reinhold Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Tweetymax Geschrieben 30. Juli 2008 Autor Teilen Geschrieben 30. Juli 2008 Vielen dank für die Antworten Ich werde es nun wirklich so machen, dass ich mir aus Access heraus die Dateien erstellen lasse, und dem Dateinamen den Primärschlüssel gebe, damit ich diese auch wiederfinden kann. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.