Announcement

Collapse
No announcement yet.

Datenserver - Aufbau

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

  • Datenserver - Aufbau

    Hallo zusammen,

    ich habe derzeit eine Anfrage bezüglich eines "reinen" Datenservers auf TCP/IP-Basis der via VPN auch "von außen" (Ausland) kontaktiert werden können soll, nach Authentifizierung.

    Lokal soll auf Client-Seite keine physische DB verwendet werden ( RecordSet / ClientDataSet ? ), Serverseitig wird eine SQL-Server-DB verwendet; die Daten sollen (Benutzer-/Rechte-abhängig) gefiltert abrufbar sein.

    Um das Maß vollzumachen, können einzelne User auch alle Daten abrufen (derzeit ca. 130.000 Datensätze), und natürlich soll der Datenaustausch sehr schnell sein...

    Ich habe mir für die Datenübertragung Serverseitig eine Lösung überlegt, die die Tabellenstruktur und die Daten ( 2 Datenblöcke ) ins Textformat exportiert, komprimiert (ZIP), und anschl. an den Client sendet.

    Bei dieser gedachten Vorgehensweise ist mir aber noch nicht klar, wie ich die übermittelten Daten wieder in ein DataSet bekomme ohne physikalische DB.

    Wenn jemand ähnliche Anforderungen gelöst hat, würde ich mich sehr freuen über Tips freuen, die mir da weiterhelfen!

    Vielen Dank für jede Antwort

    Holger Rogge

  • #2
    Habe etwas ähnliches umgesetzt mit SQLMemTable von AidAim. Damit hat man dann Tabellen zur Verfügung, die komplett im Hauptspeicher liegen. Diese lassen sich auch indexieren, es gehen alle wichtigen SQL-Statements und die Delphi-Datenbankkomponenten arbeiten wunderbar damit zusammen.
    Beim Empfang einer kompletten Tabelle kann man den eventuellen Altbestand einfach mit einem EmptyTable (entspricht dem truncate) löschen und per Insert die Daten in die Tabelle schreiben, oder man erstellt die Tabelle überhaupt neu, zuerst ohne Index, dann alles inserten und schließlich bei Bedarf Index darauflegen. Anschließend kann man allen möglichen und beliebig viele Queries darauf ausführen.
    Und das Schöne daran: es werden keine temporären Files angelegt (zumindest bei mir war das noch nie der Fall), der Client merkt also gar nichts davon, weil wirklich alles im Hauptspeicher stattfindet. Auf den sollte man dann vielleicht etwas achten. Bei 130.000 Records zu je 2 kb kommen schon 260 Mb zusammen (wenn ich mich jetzt nicht verrechnet habe).
    <br>
    bye,
    Helmu

    Comment


    • #3
      Mal eine grundsätzliche Frage ? Zugriff von außen über VPN
      warum dann so ein Aufwand , sollen die Daten Offline
      verfügbar sein ? Wenn ja , könntest du ( du hast ja eine
      richtige SQL-Datenbank) eine stored procedure hinterlegen,
      die dir den Vorgang des Exportierens der Daten und Struktur
      serverseitig abnimmt .Dann die exportierten Daten holen
      und auf eine Clientseitig installierte Datenbank hinterlegen.
      Firebird wäre hier wohl ideal , da es eine embedded Firebirdversion gibt.

      Bis dahin ist ja alles simple , gefährlich wirds nur wenn die Offlinedaten mit denen auf dem Server synchronisiert werden sollen.

      Gruß Andrea

      Comment

      Working...
      X