Announcement

Collapse
No announcement yet.

COM + recordset

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

  • COM + recordset

    Hallo!<br>
    Wir verwenden einen COM Server um "living recordsets" von einem SQL Server zu holen.<br>
    Einige dieser Recordsets können jetzt aber manchmal gewaltig groß sein. Die Anwendung soll idealerweise aber auch mit einer kleinen Bandbreite im Netzwerk laufen (ISDN...)<br>
    Kann ich die Recordsets packen und auf dem Client wieder entpacken? (Vielleicht mit der ZLIB?!?).<br>
    Hat das mal jemand gemacht?<br>
    Wie würde man sowas denn angehen? (Das recordset hat ja keine Methoden um sich in einen Stream zu schreiben)<br>
    BYE BERND

  • #2
    Hallo Bernd Schulz,

    Wenn ich mein ADO Buch richtig überlesen habe, muß es wohl auch eine Möglichkeit geben, Recordsets zu speichern. Leider habe ich mein schlaues Buch derzeit verliehen und kann Dir dazu keine genaue Antwort geben.

    Ein sicheres Ergebnis könnte jedoch das ADO SDK unter msdn.microsft.com bieten.

    Gruß, To

    Comment


    • #3
      Hallo Bernd Schulz,

      Ich hab's mal überprüft.

      Die Komponente ADODataSet bietet die Möglichkeit, sein verbundenes Recordset in eine Datei zu speichern. Und zwar in zwei verschiede Formate (Binaer und XML).

      Nun könntest Du das Dataset (Recordset) serverseitig zum Beispiel binaer in eine Datei speichern, zippen und sie via Dateitransfer zum Client übertragen.

      Diese Methode zerschlägt allerdings sämtliche Konventionen, die mit COM oder ADO zu tun haben. Außerdem handelt es sich hierbei nicht mehr um "Living Recordsets".

      Selbst wenn es funktioniert, kann ich mir nicht vorstellen, daß die Geschichte performanter sein wird als die herkömmliche, sicherere Art und Weise.

      Gruß, To

      Comment


      • #4
        Stimmt über den Umweg des Adodatasets würde es gehen.<br>
        Aber wir transportiere ich die gezippten Daten zum Client?<br>
        <br>
        -performanter<br>
        Also wenn ich ca. 300KB an Datenmaterial habe und fast alles varchar Felder sind:
        Ein Kompressionsprogramm sollte da minimalst 75% schaffen. Also mach ich aus 300KB 75KB bei der Übertragung vom Server an den Client. Da es sich um eine Multi Tier Applikation handelt und zwischen Server und Client evtl. auch mal nur eine ISDN Leitung liegt sollte sich das schon bemerkbar machen.<br>
        Stimmt im LAN ist das Ganze komplett witzlos.<br>
        <br>
        -Diese Methode zerschlägt allerdings sämtliche Konventionen<br>
        Warum? Gehen die Infos beim speichern verloren?<br>
        Das AdoDataSet (ohne speichern) kann sehr gut mit den "living recordsets" umgehen<br>
        BYE BERN

        Comment


        • #5
          Hallo,

          &gt;Ein Kompressionsprogramm sollte da minimalst 75% schaffen

          das unterstellt aber, dass der Standard-Marshaler von Windows das firmeneigene Recordset als rohen Datenblock transportiert. Ich gehe eher davon aus, dass der Objektzustand vom Recordset-Objekt bereits automatisch in kompakter Form transportiert wird, wenn DCOM zum Einsatz kommt

          Comment


          • #6
            Alles klar!<br>
            Damit kann man sich die Arbeit sparen.<br>
            Danke für die Antwort!<br>
            BYE BERN

            Comment

            Working...
            X