Thema: Delphi DataSet übertragen?

Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.152 Beiträge
 
Delphi 12 Athens
 
#1

DataSet übertragen?

  Alt 24. Feb 2011, 10:12
Datenbank: PostgreSQL • Version: 9.0 • Zugriff über: PgDAC
Moin,

irgendwie hab ich Problemchen ein billiges unidirektionales DataSet zu übertragen (Server>Client).

Das TPgQuery direkt als Result via DataSnap zu Übertragen schägt natürlich fehl.
Zitat:
Im Projekt Project3.exe ist eine Exception der Klasse TDBXError mit der Meldung 'Remote-Fehler: Intern: Typ tkPointer wird aktuell nicht unterstützt' aufgetreten.
Mit einem TClientDataSet klappte es auch nicht.

Das TPgQuery in über TdxMemData.LoadFormDataSet und TdxMemData.SaveToStream in einen stream zu bekommen ist leicht,
aber TdxMemData.LoadFromStream ließt diesen Stream nicht wieder aus > Keine Fehlermeldung, aber das TdxMemData bleibt einfach leer.
PS: TdxMemData.LoadFromStream bleibt in einer Endlosschleife, wenn man ihm direkt einen Stream vom DataSnap übergibt. Umkopiert in einen TMemoryStream geht es dann, da der DBXStream vom DataSnap .Position nicht unterstützt und da einfach immer nur 0 zurückgibt.

Über einen TDBXDataSetReader (welchen das DataSnap nativ übertragen kann) klappt es.
Halt nee, leider doch nicht, denn dieser TDBXDataSetReader kann zwar ein DataSet einlesen, es wird auch alles korrekt übertragen, aber wenn man die Daten zurück in ein DataSet übertragen will, dann knallt es, da keine dynamischen TEXT (MEMO) und VARCHAR (ohne Längenangabe) ausgelesen werden können > "Not Implemented".
(ein CAST in den Queries, wo man dieses z.B. in ein VARCHAR(255) castet, ist ja nicht wirklich eine Lösung.

So, ich binn dann mal weiter am Suchen und Probieren, aber wenn da jemand passende Tipps hat, dann kann er/sie sich ja gerne mal bei mir melden.




Ach ja, es wäre schön, wenn es direkt über einen vorhandenen DataSnap-Server laufen würde.
Allerdings müssen wir für die langsame und begrenzte Stream-Übertragung auch schon einen alternativen Übertragungskanal implementieren, also falls es sein muß, dann würde was Anderes auch gehn.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (24. Feb 2011 um 12:52 Uhr)
  Mit Zitat antworten Zitat