SQL Datenbank Zugriffs Modul

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
Antworten
charlytango
Beiträge: 843
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

SQL Datenbank Zugriffs Modul

Beitrag von charlytango »

Hallo

Trotz des sperrigen Titels (bessere Vorschläge willkommen) für mein Framework ist es eine Fortführung von diesem Thread

Gibt es jetzt auch in Github

Umfang:

Das Framework besteht aus folgenden Units:
udmsqldb,pas/.lfm Datamodul zur Verbindung mit Datenbanken
uguessfile.pas Unit für die Such-und Hilfsfunktion diverser Dateien.
fcredentials.pas/lfm Manager für Credentials und Settings


*******Beispielapplikation:
frame_example1 Beispielframe mit Datenbank- und Datenfunktionen
unit1 Hauptformular der Beispielapplikation
+Projektdatei

Einsatzzweck:
  • Basis für Datenbank-Beispielprogramme
  • Testumgebung für einzelne Formulare oder Frames
  • Basis für Datenbankapplikationen
  • Anfängerumgebung die einem alles abnimmst bis auf die Zuordnung der DB-Verbindung
  • verwendbar auch in Produktivumgebung
Für Beispielentwickler ist die Idee dass man mit irgendeiner DB entwickeln kann, ein SQL-File mit Definitionen und Daten mitliefert und der User dieses Beispiel auch gegen eine beliebige unterstützte DB ansehen kann.
Als Standard ist SQLite voreingestellt.

Funktionen:
  • Datenbankanbindung mit allen von Lazarus unterstützen SQL-Datenbanken
  • automatischer Import von Beispieldaten
  • Umschalten zwischen Datenbankanbindungen
  • 32/64 bitness für Zugriffsbibliotheken möglich
  • Einstellmanager für Datenbanken und Programmeinstellungen
  • Einstellungen in INI Datei
  • Standardeinstellungen vorgegeben
  • Datenbankauswahl und Verbindungstest vor Connect möglich
  • saubere Dateistruktur möglich
  • automatischeVerwendung von Standardbibliotheken. Custom Libraries möglich
  • Windows/Linux kompatibel (soll es zumindest sein)
  • kompatible Beispieldatenbank (dzt mit SQLite, MySQL/MariaDB getestet) mit Strukturdiagramm (im SQL Ordner) - Bugreports welcome
und andere Helferleins,,,

Das Speichern der SQL-Credentials (ggfs Passworte und Server etc.) ist unkritisch, denn für ein Beispielprogramm wird die INI-Datei nicht mitgeliefert und beim Programmstart automatisch lokal erzeugt.

Ich ersuche um ausgiebiges Testen und Kritik damit ich mich nicht allzusehr blamiere wenn ich es ins internationale Forum stelle.
Besonders Verbindungen mit Datenbanken die nicht SQLite, MySQL/MariaDB sind und Tests unter Linux wären nötig.
Eine Beschreibung liefere ich noch nach.
Dateianhänge
ct_sqldatabaseconnection-0_1_0_10.zip
(398.3 KiB) 65-mal heruntergeladen
Zuletzt geändert von charlytango am Do 15. Dez 2022, 01:41, insgesamt 1-mal geändert.

wp_xyz
Beiträge: 4888
Registriert: Fr 8. Apr 2011, 09:01

Re: SQL Datenbank Zugriffs Modul

Beitrag von wp_xyz »

Ein absoluter Pfad im Output-Directory ist nicht so schön. Zumal er noch Windows-only ist. Und im Projekt-Inspektor sind zwei Dateien (demo1.inc und demo2.inc) durchgestrichen (d.h. existieren nicht).

charlytango
Beiträge: 843
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: SQL Datenbank Zugriffs Modul

Beitrag von charlytango »

wp_xyz hat geschrieben:
Mi 14. Dez 2022, 22:11
Ein absoluter Pfad im Output-Directory ist nicht so schön. Zumal er noch Windows-only ist.
Ja, stimmt.
Die Idee war, alle Unitverzeichnisse in einen Ordner zu stecken und nicht in der Nähe der Sourcen zu haben.
Wie ist zb die Syntax die Dateien zb ins Home-Verzeichnis zu schreiben.

Das ist es also nicht:
C:\Laz_Lib\SQLdbGUI\$(TargetCPU)-$(TargetOS)-$(LazVer)

und das schreibt ins Projektverzeichnis:
\Laz_Lib\SQLdbGUI\$(TargetCPU)-$(TargetOS)-$(LazVer)

was ich auch nicht will. Irgendwas wie
$(Home)\Laz_Lib\SQLdbGUI\$(TargetCPU)-$(TargetOS)-$(LazVer)

wäre fein, nur hab ich dazu keine Variable gefunden.

wp_xyz hat geschrieben:
Mi 14. Dez 2022, 22:11
Und im Projekt-Inspektor sind zwei Dateien (demo1.inc und demo2.inc) durchgestrichen (d.h. existieren nicht).
Ist unsauber, wurde entfernt.

aktuelle Version ist: ct_sqldatabaseconnection-0_1_0_10
einige Linuxpfade angepasst, Github updated

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6208
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: SQL Datenbank Zugriffs Modul

Beitrag von af0815 »

Du verwendest das Bild, wo die Struktur von einem Sqlite Demo drauf ist. Hast du die Rechte am Bild bzw. ist das dokumentiert gemeinfrei ?
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

charlytango
Beiträge: 843
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: SQL Datenbank Zugriffs Modul

Beitrag von charlytango »

Die Quelle (chinook-database, github) habe ich im importfile dokumentiert.

Laut der 11 zeiligen Lizenz (Bitte nochmal düber schauen) ist alles erlaubt.
Woher der Anbieter das Bild hat weiß ich allerdings nicht

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6208
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: SQL Datenbank Zugriffs Modul

Beitrag von af0815 »

Ich würde da das Lizenzfile von der originalen Quelle noch dazulegen. Dann ist es klar ersichtlich das es ein Lizenzfile gibt.

Bei deiner Lizenz, würde ich mich an die Lizenz von Lazarus (LGPL with exceptions) näher ranhalten als die reine LGPL. Das ind kleine Unterschiede zu beachten. Mit der Lazarus Lizenz ist die Wahrscheinlichkeit höher, das das vielleicht in die Demos von Lazarus aufgenommen wird. Da ist auch eine Änderung in Gange, die Demos extra zu verwalten.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

charlytango
Beiträge: 843
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: SQL Datenbank Zugriffs Modul

Beitrag von charlytango »

und die Lizenz kopiere ich von hier oder wie. Github bietet die als Auswahl ja nicht an. Kann ich so einfach einen Lizenztext kopieren? der ist doch sicher selbst geschützt?

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6208
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: SQL Datenbank Zugriffs Modul

Beitrag von af0815 »

charlytango hat geschrieben:
Do 15. Dez 2022, 18:08
und die Lizenz kopiere ich von hier oder wie. Github bietet die als Auswahl ja nicht an. Kann ich so einfach einen Lizenztext kopieren? der ist doch sicher selbst geschützt?
Ich würde die Version aus den Verzeichnissen von Lazarus nehmen (COPYING.modifiedLGPL.txt). Es geht in der Ecxeption darum, das man auch die Lazarusspezifischen Teile in sein Applikation einbringen kann ohne das man Probleme bekommt. Laut der Erklärung was ich da vor Jahren bekommen habe, reicht da die LGPL alleine nicht aus, deswegen ist die Variante LGPL mit Exceptions im Lazarusprojekt verwendet. Dabei muss man aber sehr genau unterscheiden wo man sich was aus dem Projekt nimmt. Auch bei den Komponenten können manchmal abweichende Lizenzen sein. Da muss man sich immer die Verzeichnisse ansehen. Lazarus selbst ist ja GPLv2 (siehe COPYING.txt als Info).

Das mit der Lizenz vom Lizenztext ist kein Problem, ich habe in der Vergangenheit schon mal nachgefragt :-) Der Lizenztext ist keine künstlerische Leistung :-) im eigentlichen Sinn.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Antworten