Hi jobo
Das sind die ersten Zeilen des Scripts, so wie es von Workbench exportiert wurde:
Zitat:
-- Creator:
MySQL Workbench 6.3.8/ExportSQLite Plugin 0.1.0
-- Author: Roger
-- Caption: Delbor-Database-Modell
-- Project: DelborpunktCH
-- Changed: 2017-04-18 16:20
-- Created: 2012-06-16 09:09
PRAGMA foreign_keys = OFF;
-- Schema: ContentMasterData
ATTACH "ContentMasterData.sdb" AS "ContentMasterData";
BEGIN;
Davon wurden alle ausser der PRAGMA-Zeile Opfer meines 'Sauberkeitsfimmels'.
Das Script selbst findest du im Anhang.
Zitat:
Aus Deinem Delphicode geht nun derzeit nicht hervor, was du in den einzelnen Abschnitten wirklich als DML Script übergibst.
Alle CREATE TABLE-Konstrukte im Anhang werden einzeln von insgesamt 12 Funktionen zurückgeliefert. ExecSQL führt also im Endeffekt das bis auf die obigen Zeilen (und das commit am Schluss)komplette Script aus.
Zitat:
Ebenso sehe ich nicht, wo dieser Fehler geschieht (welche Zeile in Delphi).
Der Fehler tritt auf, nachdem (oder eben wenn) ExecSQL ausgeführt wird/Werden sollte.
Zitat:
Also entweder Attach UND Schemaschreibweise entfernen
oder
beides wie generiert belassen.
oder
Attach weglassen und Schemaschreibweise auf "main".
ATTACH "ContentMasterData.sdb" AS "ContentMasterData";
Verstehe ich dich richtig? Das würde also z.B. so ausehen:
DMLSQLite.FDSQLiteConnection.Params.Add(ATTACH "ContentMasterData.sdb" AS "ContentMasterData";)
oder:
DMLSQLite.FDSQLiteConnection.Params.Add(main;)
Aber vielleicht krieg ich ja doch noch den Durchblick.
TigerLillly schrieb:
Zitat:
Naja, nur, wenn es "Database" schon gibt.
Und die gibts ja auch - nämlich die, welche ich in meinem ersten Post gezeigt habe - die basiert auf der selben sqlite.dll, im selben Anwendungsverzeichnis.
Und genau deswegen muss nun mit Attach die neue
DB hinzugefügt werden. Richtig?
Und zu Tigerlilly: Ich hab mir die Params inzwischen angesehen; sie sind auch im Anhang zu finden.
Ich arbeite mit DelphiXE8 unter Firedac.
Gruss
Delbor