Hi zusammen
Soeben hab ich mal versucht, die Datenbank zu erstellen. Als erstes hab ich mal das von
MySQL-Workbench erstellten SQLite-CreateScript in Funktionen pro erstellter Tabelle aufgeteilt. Nachfolgend die Prozedure, die die
DB erstellen sollte:
Delphi-Quellcode:
procedure TDMLSQLite.ContentmasterDBCreate;
var SQLString:
String;
begin
try
DMLSQLite.FDSQLiteConnection.Connected := false;
DMLSQLite.FDSQLiteConnection.Params.Values['
Database']:='
M:\SQLite-DB Corner\ContentmasterData\ContentmasterData.sqlite';
// Geänderte Zeile(M statt m)
DMLSQLite.FDSQLiteConnection.Params.Values['
FailIfMissing']:='
False';
DMLSQLite.FDSQLiteConnection.Params.Values['
PRAGMA foreign_keys']:='
ON';
DMLSQLite.FDSQLiteConnection.Connected := true;
SQLString := '
';
SQLString := Createbilddescribetabelle;
SQLString := SQLString + Createbilddescribetabelle_has_HtmlTabell;
SQLString := SQLString + Createbildtabelle;
SQLString := SQLString + CreateCSSTabelle;
SQLString := SQLString + Creategalerietabelle;
SQLString := SQLString + CreateHTMLTable;
SQLString := SQLString + CreateJavascriptTable;
SQLString := SQLString + Createkategorien_tabelle;
SQLString := SQLString + Createkategorien_tabelle_has_bildDescribeTabelle;
SQLString := SQLString + CreateMenueTabelle;
SQLString := SQLString + CreateSubMenue2Table;
SQLString := SQLString + CreateSubmenuetabelle;
DMLSQLite.FDSQLiteConnection.ExecSQL(SQLString);
except
on E: EDatabaseError
do
ShowMessage('
Exception raised with message' + E.
Message);
end;
end;
Und das ist die Fehlermeldung, die mir Delphi anzeigt:
Zitat:
---------------------------
Im Projekt SQLiteTestProject.exe ist eine
Exception der Klasse ESQLiteNativeException mit der Meldung '[FireDAC][Phys][SQLite] ERROR: unknown database "ContentMasterData"' aufgetreten.
---------------------------
Darauf hab ich folgende Zeile geändert:
DMLSQLite.FDSQLiteConnection.Params.Values['Database']:='M:\SQLite-DB Corner\ContentmasterData\ContentmasterData.sqlite';
in
DMLSQLite.FDSQLiteConnection.Params.Values['Database']:='M:\SQLite-DB Corner\ContentMasterData\ContentMasterData.sqlite';
In allen Funktionen, die dem SQLString zugewiesen werden, ist das Teilwort 'Master' gross geschrieben, also müsste dies auch im
DB-Namen der von SQLite erzeugten
DB der Fall sein. Trotzdem ändert sich die Fehlermeldung nicht...
Zitat:
---------------------------
Im Projekt SQLiteTestProject.exe ist eine
Exception der Klasse ESQLiteNativeException mit der Meldung '[FireDAC][Phys][SQLite] ERROR: unknown database "ContentMasterData"' aufgetreten.
---------------------------
Im Anhang zeigt ein Jpeg die Situation im besagten Verzeichnis. Auf Doppelklick auf den da gezeigten Ordner öffnet sich sqlite-Expert und zeigt mir eben diesen Ordner an. - mit einigen
DB-spezifischen Metadaten, aber ohne die Tabellen.
Was habe ich falsch gemacht?
Gruss
Delbor