Hallo Thomas,
Hallo Gerhard,
Hallo Thomas,
Hallo Robert,
Hallo Thomas,
ich habe zwischenzeitlich Mint neu installiert, Probleme mit dem WLAN
gehabt und nun läuft das Notebook wieder.
LO ist jetzt die mitgelieferte Version 6.0.7. In der Datenbank wieder
der Fehler, also Treiber installiert und immer noch die Fehlermeldung.
Mit Einschalten der experimentellen Funktionen geht es jetzt.
Firebird ist erst sei der Version LO 6.1 aus dem experimentellen Modus
herausgenommen worden - was nicht heißt, dass da nicht noch einiges an
"Experiment" drin sitzt.
Ja, das habe ich auch festgestellt. Ich kann zwar die Tabellen öffnen,
aber keine Daten ändern oder gar Datensätze löschen. Die Tabellen lassen
sich nicht zum Bearbeiten der Daten freigeben, das Symbol dafür ist auch
grau. Da müßte vielleicht eine aktuelle Version her, aber woher und habe
ich dann die aktuellen Treiber?
Das ist auch das Verhalten, wenn die Tabellen keinen Primärschlüssel
haben. Prüfe das erst einmal!
Deine Vermutung geht wohl in die richtige Richtung. Ich habe zwar einen
Index, der auch ohne Fehlermeldung angenommen wurde. Der Index ist
eindeutig, in allen Datensätzen sind die Felder gefüllt und es gibt auch
keine Doppelungen. Sollte also gehen. Allerdings ist das Indexfeld ein
Textfeld, da vermute ich den Fehler.
Ein Textfeld ist kein Problem, aber ein Primärschlüssel ist mehr als ein eindeutiger Index (davon könnte es mehrere geben), er ist der Schlüssel, der für das DB-System den Datensatz eindeutig identifiziert. Der Sinn ist, dass dieser Schlüssel nie geändert werden sollte, weil er zur Referenzierung aus anderen Tabellen dient. Bsp.: Personalnummer wäre mit einiger Sicherheit (aber siehe unten) ein Primärschlüssel, die Renten-Id oder Steuernummer wären wohl eindeutige Schlüssel, dienen aber in der Personalverwaltung nicht zur Referenzierung von anderen Tabellen (Gehaltszahlungen, Anwesenheiten, Fortbildungsinfos...). Man verwendet daher, weil man ja bei Schlüsseln mit Bedeutung nicht hundertprozentig sicher sein kann, ob er nicht doch einmal geändert wird, auch meist automatisch vom Datenbanksystem vergebene Schlüssel, die absolut keine Bedeutung haben; die sind dann auch numerisch, weil das vorgesehene Verfahren einfach das Hochzählen ist. Bei meiner Personalnummer gab es übrigens tatsächlich eine Neuvergabe, weil das im ganzen Konzern zusammengeführt werden sollte; das ist dann eine größere Aufgabe.
Ich habe es ausprobiert: wenn du eine Tabelle anlegst, wirst du beim Speichern nach dem Primärschlüssel gefragt: du kannst einen generieren lassen, das wird aber ein neues Feld, oder das abbrechen und die gewünschte(n) Spalte(n) als Primärschlüssel definieren, indem du sie anklickst (ab der zweiten mit Umschalt-/Shift-Taste) und dann über das Kontextmenü (rechte Maustaste) Primärschlüssel wählst.
Blöderweise sagt der genannte Hinweis beim Speichern, dass du auch statt eines Primärschlüssels einen eindeutigen Index anlegen kannst. Da lässt sich zwar die Tabelle speichern, aber die Verwaltung geht nicht, das ist in LibO so verlangt. Das ist also keine Eigenheit von Firebird, das passiert genauso mit der alten HSQLDB oder einer externen DB wie MySQL/MariaDB oder PostgreSQL.
Den Unterschied erkennst du, indem du die Tabelle zum Bearbeiten öffnest: beim Primärschlüssel wird ein Schlüsselsymbol im Kopf der Spalte angezeigt, beim eindeutigen Schlüssel nicht, da musst du auf den Indexentwurf gehen und einen Index anklicken, um zu sehen, welche Spalten im Index stecken.
Wenn du da keinen Schlüssel angezeigt siehst, dann musst du erst den alten Index löschen, bevor du den Primärschklüsssel vergibst, sonst bekommst du eine Fehlermeldung (das dürfte auch eine Schwäche von Base sein).
Wenn es daran nicht liegt, dann habe ich spontan keine Idee. Aber du kannst ja dann mal das gleiche in einem neuen Testdokument mit einer HSQLDB machen und schauen, ob da das gleiche passiert, das wäre ein Hinweis.
Gruß
Gerhard