Was fehlt euch in Firebird?

Alles was nicht direkt zu den obigen Foren passt, findet hier Platz. Also Fragen zu allem was generell firebirdspezifisch ist oder sonst einen Bezug zum Forum hat.

Moderator: martin.koeditz

Gerd
Beiträge: 234
Registriert: Di 1. Okt 2019, 17:13

Hallo.

Ich bin ein nebenberuflich Selbstständiger - ja, so sagt man das wohl. Kein Studierter - aber einer mit chronischer Datenbank-Affinität. Hoffentlich ist das keine Krankheit, denn dann wäre ich krank - aber so richtig krank.

Es ist schön und lehrreich, dass es 'Firebirdler' gibt, die hier am 'Firebirdforum.de' mitwirken.
Mein sowohl bescheidener als auch besonderer Dank gilt Martin Koeditz. Ich gehe davon aus, dass er der Initiator dieses Forum ist.

Es ist schon fast sträflich, dass ich jetzt erst Zeit finde, mich mit Firebird 3.0.4 und 4.0 Beta 1 auseinanderzusetzen.
Ich dachte immer, Firebird ist ein freies Datenbankmanagementsystem (DBMS) genau so wie bspw. MariaDB v10.4 eines ist. Nein Leute! Firebird ist (wie ich finde) gefühlt besser! Und wenn ich mir dann noch die Features der kommenden Version 4 so anschaue - absolut zielführend. Ich benötige einige dieser Features nicht wirklich, aber ich kann sehr wohl einschätzen, wie wichtig sie sind, um Firebird für Unternehmen noch attraktiver zu machen.

Firebird - eine überaus beachtenswerte Leistung von Vlad Khorsun, Dmitry Kuzmenko und den anderen Mitstreitern aus den Entwicklungsbereichen 'Firebird RDBMS', 'Drivers and connectivity packages for Firebird RDBMS' und 'Firebird Butler'. Vielen, vielen Dank dafür.


Nur um FlameRobin, da mache ich mir so meine Gedanken.
Die Software ist - wie ich persönlich finde - eine wirlich schöne aber auch clevere Lösung, um auf plattformübergreifend auf Firebird-Datenbanken zuzugreifen.
Nur das Entwicklungstempo oder auch 'nur' die Fehlerbeseitigung hält da nicht Schritt. Wenn also jetzt in der kommenden Firebird Version 4 von einer 'Physischen Standby-Lösung' (inkrementelle Wiederherstellung über nbackup) die Rede ist, dann sollte aber FlameRobin (flamerobin-0.9.3.c75f861-setup-x64) mal so langsam die Ursachen beheben, damit in der entsprechenden Firebird-Systemtabelle die realisierten Backup- und Restore-Vorgänge erfolgreich eingetragen (protokolliert) werden. Das sind für mich wichtige Informationen, an die ich zurzeit 'nur' über ISQL herankomme.

Noch ein kurzes Wort zur Software XMLwizard (GuacoSoft.com).
Mit ihr ist es sehr einfach möglich, Datensätze (CSV-Format; unter Windows 7) in eine Firebird DB-Tabelle zu importieren.
Die Testversion lässt da wohl nur 200 Datensätze zu, aber das zumindest hat gut geklappt.
Jedoch, so meine ich, sollte Firebird mit eigenem Kommandozeilentool aufwarten (vgl. MariaDB LOAD DATA INFILE). Oder habe ich ein solches bereits vorhandenes Tool etwa nur übersehen. Ich favorisiere system-eigene Tools - so welche vorhanden sind.
Wie importiert ihr euere 5 bis 5 Millionen CSV-Datensätze nach Firebird?


Viele Grüße
Gerd
Linux Mint 21.3 Virginia Cinnamon 6.0.4
Firebird 5.0.0., Embedded, ISQL: LI-V5.0.0.1306
Lazarus 3.0.0 - FPC 3.2.2
Benutzeravatar
martin.koeditz
Beiträge: 443
Registriert: Sa 31. Mär 2018, 14:35

Hi Gerd,

gemeinsam wollen wir Firebird stärken. Das ist auch ein Hauptaugenmerk für dieses Forum. Dafür ist natürlich Feedback (so wie deines hier) seitens der Anwender notwendig.

FlameRobin hat leider schon seit einiger Zeit kein Update mehr erfahren. Hier feht vermutlich ein Maintainer. Aber vielleicht findet sich jemand, der sich in der kälteren Jahreszeit hierum kümmert.

Für große Datenmengen gibt es die Möglichkeit externe Tabellen (CSV-Dateien) in die Datenbank einzubinden und die darin enthaltenen Daten in andere Tabellen zu übernehmen. Siehe auch http://www.firebirdfaq.org/faq209/. Ich hoffe das hilft.

Gruß
Martin
Martin Köditz
it & synergy GmbH
Gerd
Beiträge: 234
Registriert: Di 1. Okt 2019, 17:13

martin.koeditz hat geschrieben: Fr 4. Okt 2019, 09:05 ... Siehe auch http://www.firebirdfaq.org/faq209/. Ich hoffe das hilft.
Hallo Martin.

Ja, das hilft natürlich.
Danke.
(Hatte ich nicht gefunden.) :oops:


Viele Grüße
Gerd
Linux Mint 21.3 Virginia Cinnamon 6.0.4
Firebird 5.0.0., Embedded, ISQL: LI-V5.0.0.1306
Lazarus 3.0.0 - FPC 3.2.2
Gerd
Beiträge: 234
Registriert: Di 1. Okt 2019, 17:13

Hallo.

Die Passworteingabe im "Firebird ISQL Tool" sollte maskiert werden - egal, für welchen USER.
(In der v4.0 Beta 1 - die hier bei mir läuft - ist es noch nicht der Fall.)


Viele
Firebird ISQLTool Passworteingabe maskieren.png
Firebird ISQLTool Passworteingabe maskieren.png (56.76 KiB) 23885 mal betrachtet
Grüße
Gerd
Linux Mint 21.3 Virginia Cinnamon 6.0.4
Firebird 5.0.0., Embedded, ISQL: LI-V5.0.0.1306
Lazarus 3.0.0 - FPC 3.2.2
Gerd
Beiträge: 234
Registriert: Di 1. Okt 2019, 17:13

Hallo.

Einen Wunsch habe ich noch.
Es wäre hilfreich wenn Firebird nach und nach die DB-Felder aller Systemtabellen (RDB$, MON$ und SEC$)
mit einer Kurzkommentierung versehen könnte. Viel Arbeit ... gibt Wichtigeres ... ich weiß ... :roll:

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. Alle Rechte vorbehalten.

C:\Users\Name>isql -z
ISQL Version: WI-T4.0.0.1436 Firebird 4.0 Beta 1
Use CONNECT or CREATE DATABASE to specify a database
SQL> connect 'c:\users\Name\documents\firebird\meine_Datenbank.fdb' user 'sysdba' password 'pa$$word';
Server version:
WI-T4.0.0.1436 Firebird 4.0 Beta 1
Database: 'c:\users\Name\documents\firebird\meine Datenbank.fdb', User: SYSDBA
Beispielhafte Tabellen: RDB$BACKUP_HISTORY und MON$TABLE_STATS - so sieht das jetzt aus: :cry:
SQL> SHOW VIEWS;
SYSTEMTABELLEN
SQL> SET LIST ON;
SQL> SELECT RDB$FIELD_NAME, RDB$Description
CON> FROM RDB$RELATION_FIELDS
CON> WHERE RDB$RELATION_NAME='RDB$BACKUP_HISTORY';

RDB$FIELD_NAME RDB$BACKUP_ID
RDB$DESCRIPTION <null>
RDB$FIELD_NAME RDB$TIMESTAMP
RDB$DESCRIPTION <null>
Usw. ...

SQL> SELECT RDB$FIELD_NAME, RDB$Description
CON> FROM RDB$RELATION_FIELDS
CON> WHERE RDB$RELATION_NAME='MON$TABLE_STATS';

RDB$FIELD_NAME MON$STAT_ID
RDB$DESCRIPTION <null>
RDB$FIELD_NAME MON$STAT_GROUP
RDB$DESCRIPTION <null>
Usw. ...

SQL>
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Viele Grüße
Gerd

Aktualisierung: 11.10.2019, 11:10 Uhr

Nun habe ich diese Doku gefunden:
https://www.firebirdsql.org/file/docume ... es-de.html

Ich fände es dennoch besser, es würde direkt hinterlegt werden können.

Viele Grüße
Gerd

Aktualisierung: 11.10.2019, 12:28 Uhr

Ein Blick über den Tellerrand verrät: System-Datenbank 'mysql' in MariaDB v10.4.7

Nun, ein
SHOW FULL COLUMNS FROM column_stats;
auf bspw. eine der dort befindlichen DB-Tabelle (column_stats) bringt zutage, dass da leider auch keine Kommentare hinterlegt sind.
Das trifft für viele weitere DB-Tabellen innerhalb von MariaDB-Systemdatenbanken (information_schema, mysql, und performance_schema) zu.
U. a. deswegen, 'bebt' das Netz, wenn man mal wieder auf der Suche nach klärenden Beschreibungen ist.

Ich wiederhole mich. Firebird sollte derartige Informationen dort anbieten, wo sicherlich zuerst gesucht wird - nämlich innerhalb des Systems und, wo man sie verlässlicher findet. Es würde dann zu den Systemen empor steigen, die diesbezüglich mit gutem Beispiel vorangehen.

Viele Grüße
Gerd
Linux Mint 21.3 Virginia Cinnamon 6.0.4
Firebird 5.0.0., Embedded, ISQL: LI-V5.0.0.1306
Lazarus 3.0.0 - FPC 3.2.2
Benutzeravatar
martin.koeditz
Beiträge: 443
Registriert: Sa 31. Mär 2018, 14:35

Hallo Gerd,

die Idee die Beschreibung in den Systemtabelle zu hinterlegen finde ich gut. Werde ich dafür einsetzen.

Gruß
Martin
Martin Köditz
it & synergy GmbH
Gerd
Beiträge: 234
Registriert: Di 1. Okt 2019, 17:13

Danke. :)


Viele Grüße
Gerd
Linux Mint 21.3 Virginia Cinnamon 6.0.4
Firebird 5.0.0., Embedded, ISQL: LI-V5.0.0.1306
Lazarus 3.0.0 - FPC 3.2.2
LitBigMan
Beiträge: 2
Registriert: Fr 22. Mai 2020, 18:58

Hallo,
ich persönlich nutze sehr gerne Firebird. Derzeit haben wir die Umstellung von Firebird 2.5.8 nach Firebird 3.0.5 durchgeführt; bei uns in der Firma und bei allen, unseren Kunden. Gleichzeitig schaue ich natürich auch immer mal wieder bei Interbase vorbei.
Und dabei viel mir eine Kleinlichkeit auf.
Bei Interbase kann man beim Erstellen der Datenbank gleichzeitig den Alias anlegen lassen. Dieser kann auch per SQL dann nachträglich angelegt, geändert und gelöscht werden. Das würde bei der Kundeninstallation schon einiges erleichtern.
Benutzeravatar
martin.koeditz
Beiträge: 443
Registriert: Sa 31. Mär 2018, 14:35

Hallo LitBigMan,

kann man der DB mehrere Alias(e) mit auf den Weg geben oder nur einen? Geht das Anlegen über die Anweisung CREATE DATABASE?

Dank und Gruß
Martin
Martin Köditz
it & synergy GmbH
LitBigMan
Beiträge: 2
Registriert: Fr 22. Mai 2020, 18:58

Hallo Martin,

ich muss mich etwas korrigieren. Es können auf der Konsolenebende mit den GSEC BefehlAliase hinzugefügt, modifiziert und gelöscht werden. Dabei ist es möglich auch mehrere Aliase einer DB zuzuordnen.

zBsp.über GSEC
"
GSEC> alias_add emp -alias_dbpath "C:\Embarcadero\InterBase\examples\database\employee.ib"
GSEC> alias_dis emp C:\Embarcadero\InterBase\examples\database\employee.ib
GSEC> alias_del emp
"
Es soll auch über die API möglich sein.
"
The InterBase API includes three functions that permit authors of InterBase applications to add, delete, and modify users programmatically using three API functions: isc_add_user( ), isc_delete_user( ), and isc_modifiy_user( ). These functions are deprecated in InterBase 6 and later, however, because they are replaced by functions in the InterBase Services API.

The InterBase Services API provides a much broader and more robust set of tools for programmatically managing users in the security database. See “Working with Services” in the API Guide for details and examples of using the Services API functions.

For programmers using Delphi and C++Builder, the IBX components include components for managing users. For more information on using the IBX components, refer to the Developer's Guide."

(Beispiele aus der Interbase dokumentation, Version 2017 und 2020)

Im Dialog der IBConsole ist es beim erzeugen der Datenbank möglich, einen Alias anzulegen. Und du hast ein Aliasmanager wo dan beliebig viele Aliase angelegt werden können.
Ich muss mal die Quelltexte anschauen.

Ich hoffe das reicht als Kurzinfo, ich bleibe da dran. Da es für mich wichtig ist.

Dank, und Grüße zurück

LitBigMan
Antworten