Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   SQLite Administrator ändert die Tabellen nicht (https://www.delphipraxis.net/183755-sqlite-administrator-aendert-die-tabellen-nicht.html)

Peter-Pascal 2. Feb 2015 15:51

Datenbank: SQLite • Version: 3 • Zugriff über: FireDac

SQLite Administrator ändert die Tabellen nicht
 
Hallo zusammen,

ich habe mit SQLite Administrator eine DB erstellt und möchte die Tabellen ändern. Aber das macht das System nicht. Es schreibt unable to open DB-File.
Ich kann die Tabellen editieren, also neue Datensätze reinschreiben, Tabellen löschen und neu schreiben: Aber ändern geht plötzlich nicht. Es hat aber bislang funktioniert.
Was mache ich falsch?

Vielen Dank und Gruß Peter

Perlsau 2. Feb 2015 16:04

AW: SQLite Administrator ändert die Tabellen nicht
 
Also irgendwie widerspricht sich das Ganze, nicht wahr? Du kannst in die Tabelle schreiben, aber das DB-File nicht öffnen? Kann nicht sein! Entweder ist es bereits geöffnet, wenn du die Tabellenstruktur zu ändern versuchst, oder es geht überhaupt nicht zu öffnen, dann kannst du dort auch keine Tabelle löschen oder neu anlegen. Tja, was machst du falsch? Ich würde mal bei dem Quellcode, den du verheimlichst, auf Zeile 42 tippen, da stimmt was nicht :stupid:

Kleiner Tip als Nachtrag: Ist SqLite denn ein Multi-User-DBMS?

Peter-Pascal 2. Feb 2015 17:05

AW: SQLite Administrator ändert die Tabellen nicht
 
genau so ist es, es widerspricht sich. Es ist kein Code aus Delphi, sondern das Administrationsprogramm.
SQlite ist nicht multiuserfähig. Ich habe mittlerweile Delphi geschlossen, den PC neu gestartet, ich weiß nicht, was ich noch machen soll...

jobo 2. Feb 2015 17:21

AW: SQLite Administrator ändert die Tabellen nicht
 
Wie lautet die exakte Fehlermeldung?
Du schreibst, es sei das Administrationsprogramm, oben aber ist Zugriff über Firedac genannt.
Du hast also anscheinend etwas programmiert, mit dem Du Daten darstellen kannst, editieren usw. und Du versuchst vielleicht zeitgleich, die Strukturen, die Du in Deinem Programm verwendest und mit Daten beschickst, mit dem Adminprogramm zu ändern?

Du solltest genau untersuchen, was Dein eigenes Programm macht oder die IDE, in der Du es bearbeitest.
Es gibt diverse Konstellationen, bei denen Du Dir selbst in die Hacken laufen kannst.
Die IDE öffnet eine Tabelle automatisch, wenn irgendein Query oder Table Komponente active = True eingestellt ist.
Dein Programm oder ein Thread oder eine Leiche Deines Programmes oder Thread hat noch Dateien geöffnet.
Virenscanner, verlorene oder vergurkte Schreibrechte (in falschen Locations)
etc. pp.

Perlsau 2. Feb 2015 17:23

AW: SQLite Administrator ändert die Tabellen nicht
 
Also nochmal ganz langsam zum Mitschreiben: Kannst du mit deinem Datenbank-Manager (das, was du als Administrationsprogramm bezeichnest) nun deine SqLite-Datenbank öffnen oder nicht?

Bestimmte Änderungen an Tabellen, die bereits Records enthalten, sind natürlich verboten, das betrifft jedes vernünftige DBMS (Datenbankmanagementsystem). So ist es z.B. nicht erlaubt, den Typ eines Tabellenfeldes (einer Spalte) nachträglich zu ändern, weil z.B. ein VarChar nicht in einen Integer hineinpaßt. Beschreibe doch einmal genau, was du machst, was du zu machen versuchst und wo genau dann welche Fehlermeldung erscheint. Bislang ist alles, was du angibst, ziemlich ungenau.

Peter-Pascal 2. Feb 2015 17:51

AW: SQLite Administrator ändert die Tabellen nicht
 
Liste der Anhänge anzeigen (Anzahl: 3)
ich weiß es hat nur am Rande mit Delphi zu tun. Aber vielleicht liegt dort auch durch einen falschen Befehl der Fehler.

Ich habe Bilder hinzugefügt.

Zuerst habe ich eine Tabelle Test angelegt mit zwei Felder, dann diese versucht zu ändern.

Danke schon mal für Deine Mühe

Perlsau 2. Feb 2015 18:41

AW: SQLite Administrator ändert die Tabellen nicht
 
Ich begreif's noch immer nicht: Du hast also in einer bestehenden Tabelle ein Feld hinzugefügt, ja? Hat das anstandslos funktioniert? Oder kam bereits beim Versuch, dieses neue Feld anzulegen, die Fehlermeldung (was ich mir ehrlich gesagt nicht wirklich vorstellen kann)? Ich hatte dich doch gebeten, Schritt für Schritt zu beschreiben, was genau du gemacht hast. Wann kam die Fehlermeldung, daß die Datenbank-Datei nicht mehr zu öffnen sei? Leider kenne ich weder SQlite noch das Administration-Tool, das du verwendest. Deshalb klinke ich mich jetzt hier aus (hab auch eigene Arbeit zu erledigen) und hoffe für dich, daß sich jemand deiner annimmt, der die von dir eingesetzte Software kennt.

Peter-Pascal 2. Feb 2015 18:45

AW: SQLite Administrator ändert die Tabellen nicht
 
ich danke Dir trotzdem für Deine Mühe.

Das Anfügen eines Feldes in einer bestehenden Tabelle klappt nicht.

Die Tabelle zu löschen und zu editieren klappt.

Es legt jetzt auch eine Backup-Tabelle an. Das hat es vorher auch nicht getan.

Mit Delphi verläuft der Test auf die DB zuzugreifen positiv.

Peter-Pascal 2. Feb 2015 19:32

AW: SQLite Administrator ändert die Tabellen nicht
 
Heureka,

ich glaube ich hab´s gefunden.

Es könnte an der NAS QNAP und QSYNC liegen. Zumindest nachdem ich es ausgeschaltet habe konnte ich wieder eine Tabelle ändern ohne das eine Backup Tabelle angelegt wurde.

Vorher hatte ich die Datei auf eine andere Platte kopiert und es funktionierte.

Wieso QNAP die Datei blockiert und warum es Einträge in die Tabelle zulässt, ist mir ein Rätsel. Die Datei gehört mit zu den zu sichernden Dateien.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:38 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz