![]() |
Firebird und Lazarus
Was nimmt man denn so für den Zugriff auf Firebird von Lazarus aus? SQLDB, Zeos, IBX2, ...? Ich möchte die Transaktionssteuerung gerne selbst in der Hand halten und "Retaining" wenns geht vermeiden.
Bei Delphi nutze ich sehr viel das ClientDataSet, zum einen zum Editieren von Daten (hält die Transaktionen kurz), zum anderen als Grundlage aller Reports. Da gibts bei Lazarus wohl mehrere verschiedene Memory DataSets, bei dem keins den Gesamtumfang abdeckt, soweit ich das bislang erkennen kann. Was nehmt ihr denn so? |
AW: Firebird und Lazarus
Zitat:
|
AW: Firebird und Lazarus
Hallo,
Zitat:
Die DB-Operationen laufen über einfache Queries. |
AW: Firebird und Lazarus
Zitat:
|
AW: Firebird und Lazarus
Zitat:
Wann und wie validierst Du Eingaben? Beim "Absenden" des Formulars oder schon auf Ebene der Editfelder? Werden Reports auch aus Objektlisten generiert oder greifst Du dabei direkt auf die Datenbank zu? |
AW: Firebird und Lazarus
Zitat:
Ich kann mir ehrlich gesagt nicht vorstellen, dass man irgendwo sowas benutzen muss. Es gibt bestimmt gar kein RDBMS, was scharf darauf wäre, Transaktionen möglichst lange offen zu halten. Außer in einem exclusiven single user Betrieb, sollte es auch keinen Anwender geben, der sowas möchte. Ich denke, Retaining muss man explizit anfordern und man sollte es nicht machen. Aus Versehen geht also nichts schief. Was willst Du mit Deiner Anwendung machen? Bei einer kleinen lokalen Anwendung mit Embedded DB musst Du wohl selbst die Business Logik implementieren. (Also in Delphi) Bei einer großen Serveranwendung könntest Du es auch in der DB machen, wenn die SP unterstützt oder Du baust eine Multi Tier Architektur, wo keine Clientanwendung direkt gegen die DB arbeitet. |
AW: Firebird und Lazarus
Hallo,
Wie "dumm" ist dabei die Datenbank? Gibt es Constraints auf Feld-/Domainebene ja, gibt es natürlich Wie stehts mit der Rechteverwaltung: selbst implementiert im Programm GRANT in der Datenbank oder alles in der Anwendung oder beides? Wann und wie validierst Du Eingaben? Beim "Absenden" des Formulars oder schon auf Ebene der Editfelder? Sowohl als auch (z.B. TMaskEdit) Werden Reports auch aus Objektlisten generiert aus den Objektlisten |
AW: Firebird und Lazarus
Zitat:
Die Komponente T<xx>Table waren nur gedacht, um für BDE gedachte Programme einfach zu portieren (1.Schritt!) Im 2. Schritt auf getrennte Transkationskontexte umstellen und dann 3. Schritt weg von T<xx>Table! |
AW: Firebird und Lazarus
das Problem könnte deine Vorgehensweise sein, im Sine von "ich will das weiter so machen wie bisher, aber die Komponente soll das besser machen".
IBDac funktioniert mit Lazarus auch ganz gut,man braucht halt die Source Version lizensiert. Ich für meinen Teil benutze in einem großen Lazarus Projekt kaum TDatasources und schon gar nicht für das Editieren von Daten, daher kann meine Software dauerhaft ohne offene Transaktionen auskommen Michael van Canneyt vom Lazarus/fpc Entwicklerteam hatte letztes Jahr auf unserer Lazarus Konferenz gesagt, das die bei den eingebauten SQLDB Komponenten (die ich übrigens auch benutze) ein Commit auf der Connection die Datasets nicht mehr zwangsweise schliesst, so wie das nach meiner Kenntnis bei fast allen Delphi db Komponenten Standard ist und für viele auch der Grund ist, mit dem commitretaining zu arbeiten, was im Endeffekt serverseitig gar kein commit ist. Ich hab mir das selber noch nicht näher angesehen, auch weil ich eh niemals Datasets länger als für ein whilenot eof erforderlich offen halte, aber Michael hat das explizit noch mal bestätigt. |
AW: Firebird und Lazarus
Zitat:
Für mich klingt es eher so, als ob alles gar kein Problem wäre, wenn man diese BDE Sache nicht im Kopf hätte. Man müsste dann gar nichts vermeiden, weil es gar nicht mehr so gemacht wird. ~ Ich plane den Kauf eines Umwelt schonenden Elektroautos und frage mich, wie ich nun noch vermeiden kann, Adblue da reinzukippen. Aber vielleicht verstehe ich die Frage auch nicht. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:19 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-2025 by Thomas Breitkreuz