German SQLite mit Android 9

Ralf1971

Member
Licensed User
Hallo Leute,
brauche mal wieder Hilfe.
Ich erstelle zur Laufzeit eine SQLite Datenbank

If FirstTime Then

If File.Exists(rn.GetSafeDirDefaultExternal (""), "Auftraege.s3db") = False Then 'Hier Freigabe auf Speicher
AuftraegeDB.Initialize(File.DirDefaultExternal, "Auftraege.s3db", True)

CreateAuftraegeDB
End If

Sub CreateAuftraegeDB
Private Query As String
Query = "CREATE TABLE Auftraege (ID INTEGER PRIMARY KEY, Monteur TEXT, Datum TEXT, Kunde TEXT, StartZeit Text, StopZeit Text, Arbeitszeit Text, ArtderArbeit Text, Material Text, Restarbeit Text, Mitarbeiter1 Text, Mitarbeiter2 Text, Lieferschein Text,Geräte Text, Fremdleistung Text, Druckstatus Text)"
AuftraegeDB.ExecNonQuery(Query)
End Sub

Unter Android 7.0 läuft alles ohne Probleme
Datenbank angelegt finde im Ordner
Auftraege.s2db 12kb
Auftraege.s3db-journal 512b
Alles Gut

Unter Andoid 9 sieht das ganz anders aus

Dateien
Auftraege.s3db 4,1kb
Aufträge.s3db-shm 32,77kb
Auftraege.s3db-wal 12,39kb

Möchte gern die Date Aufträge .s3db per FTP übertragen und unter Windows öffnen
was mit Andoid 7 auch läuft aber leider nicht mit Android 9

Meine Manifest Datei
AddManifestText(
<uses-sdk android:minSdkVersion="5" android:targetSdkVersion="29"/>
<supports-screens android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:anyDensity="true"/>)
SetApplicationAttribute(android:icon, "@drawable/icon")
SetApplicationAttribute(android:label, "$LABEL$")
CreateResourceFromFile(Macro, Themes.DarkTheme)

'Speicher Freigabe
AddManifestText(
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion="29" />
)

Hoffe Ihr könnt mir helfen
Besten Dank vorab

mfg Ralf
 

pucki

Active Member
Licensed User
Longtime User
Zitat : "Möchte gern die Date Aufträge .s3db per FTP übertragen und unter Windows öffnen
was mit Andoid 7 auch läuft aber leider nicht mit Android 9 "

Dir ist schon aufgefallen das du s2db + s3db Dateien hast. ??!?!?

Davon abgesehen würde ich die Manifest Datei zusammenfügen. Weiß nicht ob das gut ist, aber Testen würde ich es auf alle Fälle. Also ohne extra " AddManifestText( " .
 

Ralf1971

Member
Licensed User
Hallo pucki,

das mit der s2db war ein versehen sorry.
Im Manifest hab AddManifest.Text gelöscht
Habe auch den unteren Teil gelöscht
So sieht mein Manifest jetzt aus

AddManifestText(
<uses-sdk android:minSdkVersion="5" android:targetSdkVersion="29"/>
<supports-screens android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:anyDensity="true"/>


)
SetApplicationAttribute(android:icon, "@drawable/icon")
SetApplicationAttribute(android:label, "$LABEL$")
CreateResourceFromFile(Macro, Themes.DarkTheme)

'Speicher Freigabe
'AddManifestText(
'<uses-permission
' android:name="android.permission.WRITE_EXTERNAL_STORAGE"
'android:maxSdkVersion="29" />
')


Alles wie gehabt leider keine Änderung
Besten Dank für die schnelle Antwort

Ralf
 

pucki

Active Member
Licensed User
Longtime User
Füll die 9er Version mal mit Logs auf, notfalls hinter jeder Zeile. Und versuche mal ob da irgendwelche Fehlermeldungen sind. bzw. in welcher Zeile es klemmt.

So würde ich vorgehen, um den Fehler einzugrenzen. Denn immerhin funktioniert das Prg. ja "halbwegs".
 

OliverA

Expert
Licensed User
Longtime User
Wenn SQLite eine Datenbank mit aktiviertem WAL-Modus öffnet, werden die Dateien shm und wal erstellt. Wenn die Datenbank ordnungsgemäß geschlossen wird, werden diese Dateien entfernt. Das Vorhandensein der Dateien zeigt an, dass entweder 1) die Datenbank noch geöffnet ist oder 2) die Datenbank nicht ordnungsgemäß geschlossen wurde. Nirgendwo schließen Sie die DB in Ihrem Beispielprogramm. Technisch ist dies nicht erforderlich, aber in Ihrem Fall, in dem Sie die Datenbank kopieren möchten, müssen Sie die Datenbank zunächst explizit schließen, die Datenbank kopieren und dann erneut öffnen.
 
Top