Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi DB-Abfrage verpacken, über TCP-Verbindung senden, auspacken (https://www.delphipraxis.net/53431-db-abfrage-verpacken-ueber-tcp-verbindung-senden-auspacken.html)

Panthrax 16. Sep 2005 13:18


DB-Abfrage verpacken, über TCP-Verbindung senden, auspacken
 
Hallo.

Über eine TCP-Verbindung kommunizieren Clients mit einem Server. Nun möchte ich auch Datenbankfunktionalität über diese Verbindung ermöglichen.

Gibt es eine Möglichkeit die Daten einer Datenbankanfrage zu verpacken, um sie über die Verbindung zu senden und anschließend auf der anderen Seite auszupacken und sie dort einer Datenbankkomponente vorzulegen?

CIh habe mir das etwa so vorgestellt:
  • Server fragt lokale Datenbank ab und verpackt Antwort
  • Server sendet verpacktes Datenbankergebnis zum Client
  • Client empfängt Daten und packt sie aus
  • die ausgepackten Daten werden eine Datenbankkomponente zur Verfügung gestellt
Über die Verbindung sollen nicht nur Datenbankanfragen gesendet werden, sondern es werden auch anderen Aktionen ausgeführt.

Mit welchen Komponenten könnte das funktionieren? Die TCP-Verbindung habe ich mit ServerSockets und ClientSockets hergestellt. Das war aber nur testhalber und könnte ich noch einmal ändern.

Panthrax.

joachimd 16. Sep 2005 13:34

Re: DB-Abfrage verpacken, über TCP-Verbindung senden, auspac
 
man Clientdataset und XML

Panthrax 16. Sep 2005 15:01

Re: DB-Abfrage verpacken, über TCP-Verbindung senden, auspac
 
Ich habe wie folgt versucht eine Verbindung herzustellen:
Delphi-Quellcode:
ZConnection1
ZReadOlyQuery1.Connection:=ZConnection1;
DataSetProvider1.Dataset:=ZReadOnlyQuery1;
ClientDataset1.PrviderName:=DatasetProvider1;
Will ich alles aktivieren (*.Active:=True) erhalte ich einen Fehler ("Fehler beim Laden von MIDAS.DLL") beim ClientDataset1.

Was läuft schief? Wie kann ich es noch versuchen?

Panthrax 20. Sep 2005 10:56

Re: DB-Abfrage verpacken, über TCP-Verbindung senden, auspac
 
Also ich habe das Problem mit der Midas.dll lösen können und noch einmal einen anderen Weg versucht. Aber leider, das Problem nicht lösen können.

Beim Speichern in einen Stream (Methode TClientDataset.SaveToStream) erhalte ich eine Stream-Lesefehler:
Delphi-Quellcode:
Stream:=TMemoryStream.Create;
ClientDataset1.SaveToStream(Stream);
Stream.Free;
Das muss doch Funktionieren? Was mache ich falsch?

Gruß


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:57 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz