AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung SQLite db vom Android beschreiben, am PC öffnen geht nicht
Thema durchsuchen
Ansicht
Themen-Optionen

SQLite db vom Android beschreiben, am PC öffnen geht nicht

Ein Thema von Kostas · begonnen am 27. Jul 2017 · letzter Beitrag vom 30. Jul 2017
Antwort Antwort
Seite 1 von 2  1 2      
Kostas

Registriert seit: 14. Mai 2003
Ort: Gerstrhofen
1.095 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

SQLite db vom Android beschreiben, am PC öffnen geht nicht

  Alt 27. Jul 2017, 17:01
Hallo Zusammen,

ich lege am PC eine neue leere SQLite an und kopiere sie auf einem Android device über den Explorer.
Über meine Android App wird die Datenbank befüllt. Übe eine SQLite Editor App kann ich meine Daten sehen, sie sind einwandfrei.
Nun kopiere ich wieder über den Explorer die gleiche Datenbank vom Adroid Device zurück zum PC und versuche mit dem gleiche Tool mit dem die Datenbank erzeugt habe zu öffnen.
Die Datenbank enthält drei Tabellen mit einer Handvoll Datensätze. Zwei Tabellen werden angezeigt und die dritte "Personal" nicht.

Kann es sein dass die Files nicht (Android(win) binär Kompatibel sind? Wie gesagt, am Android device kann ich die Daten einwandfrei anschauen, nur unter Windows nicht.
Versucht habe ich die zwei Programme: SQLiteStudio https://sqlitestudio.pl/index.rvt
und SQLiteAdmin http://sqliteadmin.orbmu2k.de/




Das ist das SQL für die Datenbank mit den drei Tabellen:

Code:
CREATE TABLE Baustellen (BAUSTELLEID INTEGER PRIMARY KEY NOT NULL,
                               BAUSTELLE VARCHAR (100));

CREATE TABLE Personal (PERSONALID INTEGER NOT NULL PRIMARY KEY,
                       NAMEN VARCHAR (50),
                       VORNAME VARCHAR (50),
                       GEBURTSDATUM DATE,
                       FIRMA VARCHAR (50),
                       GESPERRT BOOLEAN,
                       SPERRGRUND VARCHAR (100));

CREATE TABLE Zeiterfassung (ZEITERFASSUNGID INTEGER PRIMARY KEY NOT NULL,
                            BARCODE INTEGER,
                            ZEITPUNKT DATETIME,
                            BARCODEIDENT VARCHAR (10),
                            GESENDET BOOLEAN,
                            PERSONALID INTEGER,
                            BAUSTELLEID INTEGER);

Hat jemand eine Idee?
Gruß Kostas
Angehängte Dateien
Dateityp: zip PersonalApp.zip (3,1 KB, 7x aufgerufen)
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.093 Beiträge
 
Delphi 12 Athens
 
#2

AW: SQLite db vom Android beschreiben, am PC öffnen geht nicht

  Alt 27. Jul 2017, 19:04
Wenn du die Struktur schon am PC erzeugst müsste es doch OK sein.
Oder ist vielleicht eine leere DB nicht gut genug.

Probier doch mal wenn du schon am PC ein paar Datensätze reinlegst, und
dann auf Android noch welche dazu machst.

Wenn das nicht crasht dann müsste es doch funktionieren.

Rollo
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.611 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: SQLite db vom Android beschreiben, am PC öffnen geht nicht

  Alt 28. Jul 2017, 00:08
Also mit meinem eigenen SQLite Tool das ich gerade programmiere erhalte ich bei der Datei Personal.s3db ebenfalls einen Fehler. Siehe anliegenden Screenshot (die markierten Stellen). Da funktioniert nicht mal die Hauptabfrage um überhaupt irgendwelche Informationen aus der Datenbank zu lesen.

personaldberror.png

Die Datei Personal_master.s3db kann ich allerdings problemlos öffnen und auch den Inhalt anzeigen. (siehe Hintergrund im Screenshot, da ist die Tabelle Zeiterfassung aus der Datei Personal_master.s3db geöffnet)
  Mit Zitat antworten Zitat
sko1

Registriert seit: 27. Jan 2017
588 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#4

AW: SQLite db vom Android beschreiben, am PC öffnen geht nicht

  Alt 28. Jul 2017, 07:12
Zitat:
ich lege am PC eine neue leere SQLite an und kopiere sie auf einem Android device über den Explorer.
Wozu denn das?
Wenn es eine leere DB ist, kannst Du Dir das schenken, die wird automatisch beim ersten Zugriff angelegt, wenn nicht vorhanden!
So zumindest in meiner Anrdoid / Windows APP!

Ciao
Stefan
  Mit Zitat antworten Zitat
bra

Registriert seit: 20. Jan 2015
711 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#5

AW: SQLite db vom Android beschreiben, am PC öffnen geht nicht

  Alt 28. Jul 2017, 09:58
Mit dem "DB Browser for SQLite" kommt auch eine Fehlermeldung "invalid file format". Vermutlich geht da irgendwas grundlegendes kaputt. Laut http://www.sqlite.org/different.html#onefile müssten die Dateien eigentlich auch plattformunabhängig sein.

Du solltest die DB direkt auf dem Gerät erstellen und befüllen. Eventuell macht auch die SQLite-Version einen Unterschied?

Geändert von bra (28. Jul 2017 um 10:02 Uhr)
  Mit Zitat antworten Zitat
Kostas

Registriert seit: 14. Mai 2003
Ort: Gerstrhofen
1.095 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

AW: SQLite db vom Android beschreiben, am PC öffnen geht nicht

  Alt 28. Jul 2017, 17:34
Hallo Zusammen,

keine Ahnung was hier passiert. Aber ich habe ein anderes Device Samsung Galaxy S7. Die gleiche App funktioniert da ebenfalls und die DB wird nicht beschädigt. Entweder ist die SQLite Version auf dem anderen Device eine adere und beschädigt die Datenbank, oder das Device selbst hat irgend ein Problem.
Gibt es eine Möglichkeit die SQLite Version abzufragen? Ich verwende die FireDAC Komponenten. Möglicherweise geht es aber auch über das Android-System. Ich habe auf das Android Device die SQLite Filed nicht aktualisiert sondern die vom System verwendet. Kann es da Unterschiede geben, vermutlich schon oder?

Gruß Kostas
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#7

AW: SQLite db vom Android beschreiben, am PC öffnen geht nicht

  Alt 28. Jul 2017, 17:45
Es gibt die SQL-Funktion sqlite_version() zur Abfrage der Version der genutzten SQLite library. Kann man also mit einem SQL-Statement abfragen.

Siehe: http://www.sqlite.org/lang_corefunc.html#sqlite_version
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.093 Beiträge
 
Delphi 12 Athens
 
#8

AW: SQLite db vom Android beschreiben, am PC öffnen geht nicht

  Alt 28. Jul 2017, 19:25
@sko1

Automatisch erzeugen wäre mir neu.
Ich mache das mit "create table if not exists".
Das funktioniert überall.
  Mit Zitat antworten Zitat
sko1

Registriert seit: 27. Jan 2017
588 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#9

AW: SQLite db vom Android beschreiben, am PC öffnen geht nicht

  Alt 29. Jul 2017, 08:25
Ich schrieb dass die (leere) Datenbankdatei automatisch erzeugt wird wenn nicht vorhanden!
Man muss also keine leere DB aufs Device kopieren...

Dass man die Tabellen natürlich selbst erzeugen muss sollte klar sein!

Ciao
Stefan
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#10

AW: SQLite db vom Android beschreiben, am PC öffnen geht nicht

  Alt 30. Jul 2017, 16:46
Ich schrieb dass die (leere) Datenbankdatei automatisch erzeugt wird wenn nicht vorhanden!
Das wird in der FireDAC-Connection im Parameter OpenMode eingestellt (gibt's aber wohl nur bei SQLite). Als Default steht da CreateUTF8 - also, solange man das nicht ändert, wird eine Datenbank erzeugt, wenn nicht vorhanden.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:03 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