Date: prev next · Thread: first prev next last
2019 Archives by date, by thread · List index


Hallo Gerhard,

Am 25.06.19 um 00:34 schrieb Gerhard Weydt:
Hallo Thomas,

Am 24.06.2019 um 23:14 schrieb Thomas:
Hallo Gerhard,

Am 24.06.19 um 22:48 schrieb Gerhard Weydt:
Hallo Thomas,

Am 24.06.2019 um 22:37 schrieb Thomas_OO:
Hallo Robert,

Am 24.06.19 um 16:10 schrieb Robert Großkopf:
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. 

Das war's. Ich habe das Feld jetzt als Primärschlüssel eingerichtet, und
es funktioniert.

Das ist aber in Base etwas unglücklich eingerichtet: Der Primärschlüssel
wird zwar im Indexentwurf angezeigt, wenn er vorhanden ist, läßt sich
dort aber nicht einrichten! Das gehört doch aber zusammen?

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).
Die Fehlermeldung kam nicht, ich hatte Primärschlüssel und Index auf dem
selben Feld und konnte Datensätze bearbeiten oder löschen. Nachdem ich
das ausprobiert hatte, habe ich den Index gelöscht.
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

Danke

Thomas




-- 
Liste abmelden mit E-Mail an: users+unsubscribe@de.libreoffice.org
Probleme? https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Datenschutzerklärung: https://www.documentfoundation.org/privacy

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.