Announcement

Collapse
No announcement yet.

Zugriff auf DBase-Tabellen

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

  • Zugriff auf DBase-Tabellen

    <pre> Hallo,
    mal eine grundsätzliche Frage zu DBase.
    Wenn ich eine DBase-Tabelle über eine Laufwerks
    freigabe erreiche, also so in der BDE oder ODBC
    konfiguriert habe, wird beim Selectieren einer
    Untermenge (SELECT ... WHERE ??) dann die gesamte
    Datei zu meinem System übertragen und dann selectiert. Oder wird nur die Untermenge über das Netz zu meinem System über das Netz übertragen.

    Helmut </pre>

  • #2
    Da bei DBase-Dateien keine Serverintelligenz wie bei einem "richtigen" SQL-Server wie MS-SQL oder MySQL vorliegt muß je nach SQL-Statement u.U. die gesamte Tabelle zum Client übertragen werden und dort von der BDE (bzw. dem DBase-Treiber) ensprechend selektiert werden.<br>
    Eine Verbesserung könnte evtl. auftreten (Hab keine DBase-Erfahrungen) wenn die WHERE-Bedingung über Indexfelder läuft und damit die BDE/DBase-Treiber zielgerichtet die ausgewählten Datensätze findet kann

    Comment


    • #3
      Also ich hab da vor ein paar Jahren schon meine, nicht immer positiven, Erfahrungen gemacht.

      Es hängt vom verwendeten Datenbanktreiber ab, wieviel Daten Übertragen werden.

      Die BDE Überträgt die Indexdatei auf den Clienten und gleicht die Wohl ab.

      ODBC holt sich sohl datenbank, wie auch Indexdatei.

      Die in VC++ und VB enthaltenen Database OCXe verwenden einen <i>fast</I> native datenbanktreiber wie in DBase4/5. Je nach Zugriffsmodell werden Teildaten oder alle Daten übertragen.

      Ich habe (unter VB5/6) das Problem so in den Griff bekommen, dass zu Programmstart durch öffen der Datenbank den Index auf den Rechner geschaufelt habe (hat bei einer 15MB großen Datei und ISDN ca. 4 Minuten gedauert). Danach lief die Geschichte auch über ISDN(64KBit) recht zügig. Über Netzwerk mit 10/100Mbit merkst du kaum einen Unterschied zwischen 15 MB oder 200 MB Datenbanken.

      Ein weiteres Problem bei DBase sind die Memofelder. Im Multiuserbetrieb sehr anfällig für Datenmüll . Laut M$ und DBUG (DBase User Groupe) ein Timingproblem unter Windows.

      Wenn die Möglichkeit besteht das Programm auf was anderem wie DBase-Datenbanken laufen zu lassen, würde ich immer was anders nehmen und die DBase-Daten immer importieren

      Comment

      Working...
      X