Announcement

Collapse
No announcement yet.

Export aus MDAC (Access) nach Stream?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Export aus MDAC (Access) nach Stream?

    Hallo ihr lieben Leute,

    derzeit exportiere ich eine Datendatei aus einer MDB via MDAC in eine CSV. Dabei handelt es sich um Daten die bezahlt werden und "Manipulationen" stattgefunden haben.

    Meine Aufgabe ist es nun die Daten Sicher zu exportieren und zu verschlüsseln. Die Verschlüsselung ist mittlerweile kein Problem mehr (TwoFish), als Schwachstelle sehe ich aber noch den Export aus der MDB der derzeit noch als SQL-Anweisung like
    "SELECT * INTO [%s] in "%s" "Text;" FROM ( SELECT *FROM %s )" erfolgt.

    Da diese Methode sehr schnell arbeitet, würde ich ungern darauf verzichten und die Daten zeitintensiv (im Ablauf) satzweise in eine Exportliste schreiben um sie zu chiffrieren vor dem eigentlichen Export.

    Meine Vorstellung ist, dass ich im Speicher die Log-Daten (Erstellt, Datensätze etc.) erstelle und mir die MDAC die dazugehörigen Daten (Tabelle) in einen Stream exportiert, da ich derzeit keinen Einfluß auf die exportierte (temporäre) Datei habe.

    Weiß jemand ob das geht?

    Lieben Dank für jede Antwort!

    Holger

  • #2
    Hallo Holger,

    so ganz verstanden habe ich es noch nicht, wo Du hin willst.

    Zunächst einmal mit MDAC meinst Du eigentlich ADO?

    Bei einem ADO Recordset gibt des die Methoden GetRows und GetString, die performant alle Datensätze lesen und umwandeln können.

    http://www.learnasp.com/freebook/asp/whygetrows.aspx

    Zumdem gibt es auch die Klasse ADODB.Stream, um z.B. BLOBs aus Datenbanken zu ex-/importieren.

    Vielleicht hilft das schon etwas.
    Olaf Helper

    <Blog> <Xing>
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich

    Comment


    • #3
      Hallo Helper,

      du trägst Deinen Namen offenbar zu Recht! ;-)

      Das scheint wirklich ein Weg zu sein der mir vorschwebt. Zwar habe ich es noch nicht getestet (insbesondere Performance), aber bei "MS-" ADO mache ich mir da nicht wirklich Sorgen!

      Vielen lieben Dank

      Holger

      Comment


      • #4
        Hallo Helper,

        nachdem ich die beiden von dir genannten Methoden getestet habe, muss ich sagen bin ich beeindruckt von der Geschwindigkeit von _RecordSet.GetRows, während "GetString" erwas langsam und meines Erachtens nach nicht sehr flexibel ist bezüglich Formatierung!

        Der Export von 170.000 Datensätzen (5 Felder) dauert mit kompletter Formatierung (ohne Verschlüsselung) gerade mal 5 Sekunden auf einem 3 GHz P4 Rechner...

        Das erscheint mir sogar schneller als der Weg den ich bisher wählte, was aber vermutlich nicht ganz sicher ist, da bei meinen Tests das Öffnen der Abfrage bereits vorher erfolgte.

        Also lieben Dank nochmal

        Holger

        Comment

        Working...
        X