Seite 1 von 1

Tabelen werden nicht gespeichert

Verfasst: So 18. Jan 2015, 18:16
von susi59
Guten Abend!

Ich bin dabei mich in SQLite einzuarbeiten. Der Treiber ist installiert und beim Aufruf von Base kann ich auch eine Verbindung herstellen.

Ich starte also Base, lege eine Tabelle an und anschließend ein Formular zur Dateneigabe.
Beim Abspeichern des ganzen werde ich nach einem Namen gefragt und fertig.

Ja denkste. Schließe ich Base und arbeite an einem anderen Text und / oder fahre den Computer runter, wird mir beim nächsten Start der Datei wohl das angelegte Formular angezeigt, aber die Tabelle ich weg!

Muß ich die Tabelle extra speichern und wieder einbinden ?

Gruß Susi

Re: Tabelen werden nicht gespeichert

Verfasst: So 18. Jan 2015, 18:39
von RobertG
Hallo Susi,

schreibe einmal auf, mit welcher Treiber Du SQLite eingebunden hast. Vielleicht kann das dann jemand hier nachstellen.
Normalerweise dürfte es nicht möglich sein, Tabellen zu erstellen, auch Daten einzugeben und beim nächsten Öffnen diese Tabellen nicht mehr zur Verfügung zu haben.
Base zeigt natürlich nur die Tabellen an, die tatsächlich in der Datenbank existieren. Die werden bei jedem Start von Base neu gesucht.

Gruß

Robert

Re: Tabelen werden nicht gespeichert

Verfasst: Mo 19. Jan 2015, 10:33
von pmoegenb
Hallo Susi,
susi59 hat geschrieben: Ich bin dabei mich in SQLite einzuarbeiten. Der Treiber ist installiert und beim Aufruf von Base kann ich auch eine Verbindung herstellen.
man kann mit LibreOffice/OpenOffice keine SQLite-Datenbank erstellen. SQLite war lediglich für diese Office-Produkte als interne Datenbank einmal vorgesehen, letztendlich aber erfolgte die Entscheidung zu Gunsten von HSQLDB.

Eine SQLite-Datenbank kannst Du z. B. mittels dem Produkt SQLiteStudio anlegen und verwalten. Der Zugriff von LibreOffice/OpenOffice auf eine SQLite-Datenbank erfolgt kann dann mittels ODBC- oder JDBC-Treiber erfolgen.

Re: Tabelen werden nicht gespeichert

Verfasst: Mo 19. Jan 2015, 18:25
von susi59
Danke Euch beiden.

Da habe ich dann auch die Antwort auf die Frage: SQLite - Tabellen mit LO nicht erstellbar.
Ich werde es mit dem angegebenen Prog probieren die Datenbank zu generieren.

Werden denn neue Datensätzte, mittels LO erstellt, dann eingetragen?

Re: Tabelen werden nicht gespeichert

Verfasst: Mo 19. Jan 2015, 19:26
von pmoegenb
susi59 hat geschrieben:Werden denn neue Datensätzte, mittels LO erstellt, dann eingetragen?
Wenn die Verbindung steht und die Formulare mit der DB verbunden sind ja.

Re: Tabelen werden nicht gespeichert

Verfasst: Mi 21. Jan 2015, 08:45
von Wanderer
Hallo,

meine ersten Schritte zur Nutzung von SQlite mit LibreOffice habe ich hiermit gemacht:https://wiki.openoffice.org/wiki/Docume ... e_database
Meine Datenbanken werden allerdings per Skript erzeugt und dann in LO nur abgefragt.
susi59 hat geschrieben: Ich werde es mit dem angegebenen Prog probieren die Datenbank zu generieren.

Werden denn neue Datensätzte, mittels LO erstellt, dann eingetragen?
Eigentlich brauchst Du kein weiteres Programm, denn schon das Kommandozeilenprogramm sqlite (bzw sqlite3)
kann die Datenbank anlegen. Folgendes stammt aus obigem wiki-Eintrag:

Code: Alles auswählen

sqlite <filename of database>
SQLite version 2.8.12
Enter ".help" for instructions
sqlite> CREATE TABLE mytable (id INT, text VARCHAR(100));
sqlite> .exit
Wenn das Anlege von Tabellen (nicht der Datenbankdatei ) innerhalb von LO-Base problemlos ist, kannst Du auch eine
leere Datenbank einmalig erzeugen und dann als Kopiervorlage nutzen. Die restlichen Tabellen dann innerhalb von Base bauen.
Vorsicht: Früher konnte man den Aufbau einzelner Tabellen nicht via SQLITE ändern (ALTER TABLE nicht unterstützt). ALso sollte
man vorher genau planen.

MfG, Jörn

Re: Tabelen werden nicht gespeichert

Verfasst: Mi 21. Jan 2015, 09:48
von pmoegenb
Wanderer hat geschrieben:Eigentlich brauchst Du kein weiteres Programm, denn schon das Kommandozeilenprogramm sqlite (bzw sqlite3)
kann die Datenbank anlegen.
Ja, weshalb soll man den Komfort des kostenlosen Programms SQLiteStudio nutzen, wenn es auch komplizierter geht.
Wanderer hat geschrieben:Früher konnte man den Aufbau einzelner Tabellen nicht via SQLITE ändern (ALTER TABLE nicht unterstützt). ALso sollte
man vorher genau planen.
Weshalb nur früher ?

Aber auch das lässt sich umgehen:

Code: Alles auswählen

// Tabelle umbenennen
ALTER TABLE {tableName} RENAME TO TempOldTable;
// Neue Tabelle erstellen
CREATE TABLE {tableName} (name TEXT, COLNew {type} DEFAULT {defaultValue}, qty INTEGER, rate REAL);
// In neue Tabelle Datensätze von alter Tabelle übernehmen
INSERT INTO {tableName} (name, qty, rate) SELECT name, qty, rate FROM TempOldTable;
// Alte Tabelle löschen
DROP TABLE TempOldTable;
Auch diese Arbeit nimmt mir SQLiteStudio ab.

Re: Tabelen werden nicht gespeichert

Verfasst: Mi 21. Jan 2015, 20:23
von Wanderer
Hallo,
pmoegenb hat geschrieben: Weshalb nur früher ?
gelesen habe ich, daß sqlite3 einige ALTER TABLE Kommandos akzeptiert.
Könnte also sein, daß sich da inzwischen mehr geändert hat, als mir bekannt ist.
(Schließlich nutze ich ja auch komplizierte Kommandozeilen - ich werde wohl alt...)

MfG, Jörn