![]() |
Datenbank: MS Jet • Version: 4.0 • Zugriff über: ADO
Dataset via TCP/IP
Hallo zusammen,
folgendes Problem: auf Rechner A läuft ein Programm mit einer lokalen Datenbank, also ohne DB-Server, Zugriff auf die lokale mdb via ADO. An einem 2. Rechner B (innerhalb des LAN) sollen nun bestimmte Tabelleninhalte übertragen werden (read-only). Ein Connect über TCP/IP zwischen den beiden Programmen wäre möglich. Gibt es nun schon irgendwelche fertige Komponenten in dieser Richtung (am Besten wären Datasets oder Queries, über die ich SQL-Statements richtung Rechner A (Server-Anwendung) senden könnte und die Ergebnismenge empfangen könnte). Hat jemand von Euch mit so etwas Erfahrung ? Kann man diese Thematik Middleware zuordnen oder ist der Suchbegriff falsch ? Ich habe eine kommerzielle Comp gefunden ( ![]() aber vielleicht gibts ja was besseres, anderes, billigeres mit dem hier schon jemand Erfahrung hat. |
Re: Dataset via TCP/IP
Ich hatte mal so etwas ähnliches implementiert. Dabei bin ich für den Datenaustausch auf XML ausgewichen.
HTH |
Re: Dataset via TCP/IP
Zitat:
hat, bitte schreibt was dazu. |
Re: Dataset via TCP/IP
Mit ADO kann man Datenmengen als XML oder Advanced Data TableGram (ADTG) Format in einer Datei speichern.
Delphi-Quellcode:
Auf der Clientseite kann man die Daten mit einem abgekoppelten ADODataset wieder laden und anzeigen.
ADOQuery1.SaveToFile('C:\text.adtg', pfADTG);
Delphi-Quellcode:
Wenn du diese Datei vom Server zum Client überträgst, besitzt der Client die gleiche Datenmenge.
ADODDataset1.LoadFromFile('C:\text.adtg');
Mit etwas Mühe kann man sich das Zwischenspeichern in einer Datei ersparen und mit Streams arbeiten. |
Re: Dataset via TCP/IP
Zitat:
|
Re: Dataset via TCP/IP
Eigentlich ist dies ja der klassische Fall für Midas bzw. DataSnap. Das gibt es allerdings erst ab der Enterprise Edition...
Ich würde folgendes vorschlagen: Nehme ein lokales TClientDataSet für Deine Daten. Dieses DataSet kannst Du dann in einen Memory Stream schreiben und dieser lässt sich dann mit den Indy Komponenten übertragen. Auf der anderen Seite liest Du diesen Stream einfach wieder in ein anderes TClientDataSet ein. Oder Du schaust mal bei ![]() Gruß, Marcel |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:57 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz