AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Datenbankverbindung klappt nicht die zweite
Thema durchsuchen
Ansicht
Themen-Optionen

Datenbankverbindung klappt nicht die zweite

Ein Thema von Delbor · begonnen am 11. Nov 2021 · letzter Beitrag vom 11. Nov 2021
 
Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.186 Beiträge
 
Delphi 11 Alexandria
 
#1

Datenbankverbindung klappt nicht die zweite

  Alt 11. Nov 2021, 13:42
Datenbank: SQLite • Version: 3.xxx • Zugriff über: FireDac
Hi zusammen

Auch hier wieder mal erst die Fehlermeldung:

---------------------------
Im Projekt HomeOfficerFEProject.exe ist eine Exception der Klasse ESQLiteNativeException mit der Meldung '[FireDAC][Phys][SQLite] ERROR: unable to open database file' aufgetreten.
---------------------------

Über einen Kontextmenü-Punkt mit Inputbox zur Eingabe eines DB-Namens lande ich schliesslich hier:

Delphi-Quellcode:
function TDMLSQLiteOfficerFE.CreateAndConnectDatabase(DatabaseFolder: String) : Boolean;
begin
  try
    TDirectory.CreateDirectory(DatabaseFolder);
    FDSQLiteConnection.Connected := false;
    FDSQLiteConnection.Params.Clear;
    FDSQLiteConnection.Params.Add('DriverID=SQLite');
    FDSQLiteConnection.Params.Add('Database='+DatabaseFolder); // Add('Database=' + dlgOpen.FileName);
    FDSQLiteConnection.Params.Values['FailIfMissing'] := 'False';
    FDSQLiteConnection.Connected := true; //<==

    FDSQLiteConnection.ExecSQL('PRAGMA foreign_keys=on');
    Result := FDSQLiteConnection.Connected;
    CreateDatabase(DatabaseFolder);
  except
    on E: EDatabaseError do
    begin
      ShowMessage('Fehler beim Aufbau der Datenbankverbindung: ' + #13#13 + E.Message);
      Result := False;
    end;
  end;
end;
Hier wird als erste ein Ordner für die DB am Pfad Databasefolder angelegt. Dann wird Databasefolder, das den kompletten DB-Pfad enthält, an den Parameter 'Database' zugewiesen - soviel, wie ich verstanden habe, läuft das genau so ab, wie es sein sollte. Nur führt der Versuch, die Verbindung herzustellen, zu obiger Fehlermeldung. Was mache ich falsch?

Ach ja: CreateDatabase ruft nacheinander die Prozeduren zum Festlegen der SQL-Strings / Erstellen von Tabellen und Indizes auf.


Gruss
Delbor
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz