elegante Protokollumschaltung
-
- Beiträge: 845
- Registriert: Sa 12. Sep 2015, 12:10
- OS, Lazarus, FPC: Laz stable (2.2.6, 3.x)
- CPU-Target: Win 32/64, Linux64
- Wohnort: Wien
elegante Protokollumschaltung
SQLDB und ZEOS verwenden zur Bezeichnung des ausgewählten "Protokolls" unterschiedliche Strings. z.B.
ZEOS: 'mysql-5'
SQLDB: 'MySQL 5.0'
Ich habe ein Anbindungsobjekt das mir die Verbindung zur Datenbank herstellt, das per defines entweder mit ZEOS oder SQLDB kompiliert werden kann.
Klappt ganz gut, ist aber noch nicht ganz fertig.
In einer INI-Datei werden mehrere Datenbankverbindungen (samt deren Zugangsdaten) abgelegt. Darunter natürlich auch der Protokolltyp.
Zur Auswahl des Protokolls verwende ich derzeit eine Combobox, die mit den jeweilig möglichen Protokollarten befüllt wird.
Allerdings bräuchte ich irgendeine Matching-Möglichkeit zwischen ZEOS und SQLDB.
Ideal wäre eine Combobox wo das Dopdown eine zweispaltige Tabelle ist.
Und ja, es gibt so etwas sicher irgendwo als Komponente -- ich will aber so schlank als möglich bleiben.
Mir ist klar wie ich das lösen könnte, aber elegant wäre anders.
Schön wäre auch wenn man so eine Matchingtabelle auch als Const erstellen könnte (wegen der Wartbarkeit)
Ich weiß, alles etwas nebulos, aber vielleicht klickt es bei dem einen oder anderen
ZEOS: 'mysql-5'
SQLDB: 'MySQL 5.0'
Ich habe ein Anbindungsobjekt das mir die Verbindung zur Datenbank herstellt, das per defines entweder mit ZEOS oder SQLDB kompiliert werden kann.
Klappt ganz gut, ist aber noch nicht ganz fertig.
In einer INI-Datei werden mehrere Datenbankverbindungen (samt deren Zugangsdaten) abgelegt. Darunter natürlich auch der Protokolltyp.
Zur Auswahl des Protokolls verwende ich derzeit eine Combobox, die mit den jeweilig möglichen Protokollarten befüllt wird.
Allerdings bräuchte ich irgendeine Matching-Möglichkeit zwischen ZEOS und SQLDB.
Ideal wäre eine Combobox wo das Dopdown eine zweispaltige Tabelle ist.
Und ja, es gibt so etwas sicher irgendwo als Komponente -- ich will aber so schlank als möglich bleiben.
Mir ist klar wie ich das lösen könnte, aber elegant wäre anders.
Schön wäre auch wenn man so eine Matchingtabelle auch als Const erstellen könnte (wegen der Wartbarkeit)
Ich weiß, alles etwas nebulos, aber vielleicht klickt es bei dem einen oder anderen
- af0815
- Lazarusforum e. V.
- Beiträge: 6216
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: elegante Protokollumschaltung
Bis jetzt habe ich die Unterschiede von SQL-DB und ZEOS über bedingte Kompilierung abgefangen. Zusätzlich sind SQL-DB und Zeos unter der Haube zu unterschiedlich, ich habe mich entschlossen auf ein Pferd zu setzen. Un das ist SQL-DB weil es nativ beim fpc dabei ist.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 845
- Registriert: Sa 12. Sep 2015, 12:10
- OS, Lazarus, FPC: Laz stable (2.2.6, 3.x)
- CPU-Target: Win 32/64, Linux64
- Wohnort: Wien
Re: elegante Protokollumschaltung
Mache ich auch so -- allerdings stoße ich da bei den Protokollbezeichnungen irgendwie an Grenzen. Klar finde ich eine Lösung aber wenns ein Gewurschtel (aka Gefrickel) wird dann weiß ich da ist der Wurm drin.
Ich hab da weniger Vertrauen in SQL-DB weil es meine Zielplattform MariaDB (sogar mit einem Statement im Source nach dem Motto "Pech gehabt") explizit ausschließt. Also eine Plattform die seit dem Eigentümerwechsel von MySQL sicher oft produktiv eingesetzt wird. Einer gefundenen Statistik glaube ich nicht wirklich wenn man sich die Erhebungstechniken ansieht.
Im Moment geht es mir um eine Testumgebung ohne größere Eigenheiten der jeweiligen Pakete damit man die Umgebung mit beiden Varianten kompilieren und Testen kann. Getestet werden sollen meine neuen Frame-Strukturen die ich so im Kopf habe. Un da wärs gut wenn derjenige der sich das ggfs ansieht nichts installieren muss, ich aber trotzdem bei ZEOS bleiben kann (sic!).
- m.fuchs
- Lazarusforum e. V.
- Beiträge: 2641
- Registriert: Fr 22. Sep 2006, 19:32
- OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
- CPU-Target: x86, x64, arm
- Wohnort: Berlin
- Kontaktdaten:
Re: elegante Protokollumschaltung
Öhm, hast du dazu mal einen Link oder kannst sagen wo man diese Info findet?charlytango hat geschrieben: ↑Mo 4. Sep 2023, 09:17Ich hab da weniger Vertrauen in SQL-DB weil es meine Zielplattform MariaDB (sogar mit einem Statement im Source nach dem Motto "Pech gehabt") explizit ausschließt.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de
-
- Beiträge: 845
- Registriert: Sa 12. Sep 2015, 12:10
- OS, Lazarus, FPC: Laz stable (2.2.6, 3.x)
- CPU-Target: Win 32/64, Linux64
- Wohnort: Wien
Re: elegante Protokollumschaltung
gerne:
viewtopic.php?p=133116#p133116
File: mysqlconn.inc
Line 85
MariaDB steht bei 11.2.1 (RC) -- das kann IMHO nicht sauber klappen mit den aktuellen dlls.
Line 581:
"We do not support MariaDB" oder etwas in der Art könnte ich schon verstehen. Dann will man halt ein wichtiges DBMS nicht unterstützen.
Aber das hier sehe ich schon als ziemliche Verarsche -- "tough luck" im Source ???
viewtopic.php?p=133116#p133116
File: mysqlconn.inc
Line 85
Code: Alles auswählen
MariaDBVersion =
{$IFDEF mysql57}
'10.';
{$ELSE}
{$IFDEF mysql56} // MariaDB 10.0 is compatible with MySQL 5.6
'10.';
{$ELSE} // MariaDB 5.1..5.5 presumably report the same version number as MySQL
MySQLVersion;
{$ENDIF}
{$ENDIF}
Line 581:
Code: Alles auswählen
// Note: in case of MariaDB version mismatch: tough luck, we report MySQL
Aber das hier sehe ich schon als ziemliche Verarsche -- "tough luck" im Source ???
- af0815
- Lazarusforum e. V.
- Beiträge: 6216
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: elegante Protokollumschaltung
Na ja, ich sehe das nicht ganz so eng, aber es ist OpenSource und es gibt offensichtlich nicht "den" Maintainer für SQLdb im fpc, das meiste macht MvC. Und es sind eher laufende Wartungsarbeiten und fixes die dort passieren, wenn man sich die History von packages/sql-db ansieht.charlytango hat geschrieben: ↑Mo 4. Sep 2023, 21:49Aber das hier sehe ich schon als ziemliche Verarsche -- "tough luck" im Source ???
Wie schon in einem anderen Thread gesagt, es ist nicht Verboten Patches einzureichen oder Issues zu schreiben. Wenn MariaDB die aktivere Plattform ist und nicht mehr ein 'einfacher' Fork von SQL-DB, dann würde es ja eventuell Sinn machen auch dort einen eigenen Fork der Connection zu betreiben. Nur kümmern muss sich wer dann drum - und da sind die größten Probleme (wie bei der Doku - SCNR)
Ich verwende kein MariaDB, deswegen bin ich dort noch nicht darüber gestolpert, aber bei MS-SQL und Stored Procedures gibt es auch einige Sachen im Transaktionsmanagment, die nicht so astrein sind, aber MvC sieht dort keine Notwendigkeit es zu ändern (Patch wäre vorhanden gewesen), weil es ist halt so das er der Meinung ist, das da automatische Transaktionen nicht funktionieren müssen. Aber zumindest ist das mal ausdiskutiert.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 845
- Registriert: Sa 12. Sep 2015, 12:10
- OS, Lazarus, FPC: Laz stable (2.2.6, 3.x)
- CPU-Target: Win 32/64, Linux64
- Wohnort: Wien
Re: elegante Protokollumschaltung
Na ja, dewegen versuche ich mein Glück weiter mit ZEOS.
BTW: mein Problem ist dadurch leider nicht gelöst gggg
Bitte nicht falsch verstehen -- ich schätze und achte all die Energie, KnowHow, Zeit und Engagement das in Laz/FPC drin steckt. Größte Hochachtung und Respekt!!!
Ich vermisse halt Transparenz sowie Kontinuität bei Finanzierung und Maintanance -- Man bezahlt immer mit Zeit oder Geld. Jeder einzelne der Laz benutzt oder entwickelt.
Ich komm schon wieder ins Schwadronieren gg -- und aus
BTW: mein Problem ist dadurch leider nicht gelöst gggg
Mein dahingehender Standpukt ist wohl mittlerweile bekannt. Nur weil es OpenSource ist muss es nicht unbedingt unterfinanziert sein und dahinplätschern.
Bitte nicht falsch verstehen -- ich schätze und achte all die Energie, KnowHow, Zeit und Engagement das in Laz/FPC drin steckt. Größte Hochachtung und Respekt!!!
Ich vermisse halt Transparenz sowie Kontinuität bei Finanzierung und Maintanance -- Man bezahlt immer mit Zeit oder Geld. Jeder einzelne der Laz benutzt oder entwickelt.
Ich komm schon wieder ins Schwadronieren gg -- und aus