OLE Objekte, SQL Server

  • Gibts hier jemanden der sich mit OLE Objekte und MS SQL Server auskennt?
    Hänge gerade bei einem "kleinen" Problem.
    Über eine Fremdsoftware(habe ich leider nicht/krieg ich nicht), werden MS Dateien(word,excel,powerpoint) in eine MS SQL Server Datenbank gespeichert. Das Feld in der Tabelle ist vom Typ image.
    Die Dateien werden unterschiedlich abgespeichert.
    1. entweder als raw/binär
    2. oder als Ole Objekt, welches die Datei enthält.

    Abgesehn davon, dass es eine beschissene Idee ist, gesamte Dateien in eine Datenbank zu geben(ich kann nichts dafür), habe ich jetzt Schwierigkeiten aus den Ole Objekten die eigentliche Datei zu extrahieren.


    Weiß jemand wie, man auf solche OLE Objekte zugreift?
    Die Verbindung zum SQL Server krieg ich recht leicht hin(java,vb,vc), aber die OLE Objekte kosten mich noch den letzten Nerv.

    Mir wär echt geholfen. google liefert mir wenig brauchbares/aktuelles oder ist nur auf eingebettete Bilddateien anzuwenden.

    Danke!!!!


    lg


  • So richtig auskennen tu ich mich auch nicht, ich kann dir nur sagen, was du wahrscheinlich dafür brauchen wirst - Structured Storage und möglicherweise OleLoadFromStream. Schau dir halt mal die Doku zu den Sachen an, die ist sehr ausführlich.

  • also die Daten werden ja typischerweise raw abgespeichert, d.h. einfach ein Stream.
    Warum kannst du dann nicht einfach hergehen, die Daten mal auslesen (ganz normal ueber ODBC oder ADO oder so) und dann das Ganze laden? Alle office COM Objekte haben ja entsprechende LOAD Befehle, moeglicherweise musst Du die Daten erst auf auf die Festplatte kopieren, weil es nur einen LoadFromFile o.ae. Befehl gibt, aber grundsaetzlich sollte es so gehen.
    Dann kannst Du damit weiterarbeiten.

    Sebastian

  • Habe es inzwischen gelöst.
    Musste verschiedene Programmierumgebungen durch bis es mit Delphi 7 geklappt hat.

    Ist ein TOIeContainer und habe es mittels Ado über einen Stream eingelesen.

    Funktioniert jetzt tadellos.

    Trotzdem danke!

    lg


Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!