Hi zusammen
Vorerst mal die Fehlermeldung:
Zitat:
Fehler beim Ausführen des Statements:
CREATE INDEX PdfOfficerDB.tblUser.fk_tblUser_tblAdressen1_idx ON tblUser (tblAdressen_AdressID)
[FireDAC][Phys][SQLite] ERROR: near ".": syntax error
Die Syntax zum Erstellen der Tabellen kommt ohne explizite Datenbank-Nennung aus, zum Beispiel:
Delphi-Quellcode:
SQLstring := 'CREATE TABLE tblAuthor(AuthorID INTEGER PRIMARY KEY NOT NULL, '+
'Name VARCHAR(45) NOT NULL, '+
'Vorname VARCHAR(45) NOT NULL, '+
'tblUser_idTblUser INTEGER NOT NULL, '+
'CONSTRAINT fk_tblAuthor_tblUser1 '+
'FOREIGN KEY(tblUser_idTblUser) '+
'REFERENCES tblUser(idTblUser)); ';
Lasse ich jedoch bei der Erstellung des Indexes die
DB-Bezeichnung weg (hier: PdfOfficerDB.), führt das zur Fehlermeldung 'unbekannte Datenbank tblUser'. tbl steht hier für Tabelle.
Delphi-Quellcode:
SQLstring := 'CREATE INDEX PdfOfficerDB.tblUser.fk_tblUser_tblAdressen1_idx ON tblUser (tblAdressen_AdressID)';
Result := SQLString;
Die tatsächlich nicht erzeugte Datenbank:
M:\HomeOfficFolder11\HomeOfficFolder\
HomeOfficerDB.sqlite
Der Datenbankname kann auf keinen Fall hartcodiert sein.
Gruss
Delbor