Hi,

ok, ich habe das gelöst, bei Linux gibt es ein paar Dinge zu beachten.
Offensichtlich muss man den übergeordneten Ordner manuell anlegen, was Mac und Win selbst machen. Zusätzlich kann man in UserLibrary nicht rein schreiben... jedenfalls nicht in Mandriva Linux


  dim db as REALSQLDatabase
  Dim f,g as FolderItem


  if TargetMacOS or TargetWin32 then f = SpecialFolder.Documents
  if TargetLinux then f = SpecialFolder.UserHome
  f =f.child("Numerologie")
 -> damit geht es:  if not f.Exists then f.CreateAsFolder
  g=f.child("DatenSQL3")

  db=New REALSQLDatabase
  db.DatabaseFile=g
  if db.CreateDatabaseFile then
db.sqlExecute("create table daten(felda varchar,feldb varchar,feldc varchar,feldd varchar, felde varchar, feldf varchar,feldg varchar, feldh varchar, feldi varchar,feldj varchar, feldk varchar, feldl varchar,feldm varchar, feldn varchar, feldo varchar,feldp varchar, feldq varchar, feldr varchar,felds varchar, feldt varchar, feldu varchar,feldv varchar, feldw varchar, feldx binary,feldy binary, feldz binary)") db.sqlExecute("create table def(felda varchar,feldb varchar,feldc varchar,feldd varchar, felde varchar, feldf varchar,feldg varchar, feldh varchar, feldi varchar,feldj varchar, feldk varchar, feldl varchar,feldm varchar, feldn varchar, feldo varchar,feldp varchar, feldq varchar, feldr varchar,felds varchar, feldt varchar, feldu varchar,feldv varchar, feldw varchar, feldx binary,feldy binary, feldz binary)")
  else
msgBox "Es ist ein Fehler (datenbank_anlegen) aufgetreten, bitte kontaktieren Sie den Autor"
  end if











Hi,

leider weigert er sich auch dort die Datenbankdatei anzulegen, liegt vielleicht an etwas anderem

Gruß

Stefan


Am 11.08.2009 um 09:28 schrieb Stefan Sicurella:

Hi,

dieser Code läuft auf Mac und Win aber unter Linux nicht, die datenbank wird nicht angelegt, es kommt die unter Meldung "Es ist ein Fehler ...usw Was gibt es denn da unter Linux zu beachten? ist die UserLibrary vielleicht der falsche Platz?

dim db as REALSQLDatabase
Dim f,g as FolderItem


if TargetMacOS or TargetWin32 then f = SpecialFolder.Documents
if TargetLinux then f = SpecialFolder.UserLibrary

Ich denke UserLibrary gibt's nur beim Mac.

Richtiger wäre für alle drei wohl SpecialFolder.ApplicationData.

Greetings
Christian








Antwort per Email an