![]() |
Direkte Pfadangabe zur Datenbank (mdb) zwingend nötig?
Hallo,
ich habe DBGrid über ADOConnection, DataSource, und Table mit einer Daten.mdb verbunden. Provider=Microsoft.Jet.OLEDB.4.0. Soweit alles ok. Ich möchte folgendes, wenn die exe und Daten.mdb in einen beliebigen Ordner gepackt wird, das die exe nur in diesem Ordner nach der Daten.mdb sucht und verwendet. Ist das möglich, oder muss immer der direkte Pfad zur Datenbank in der exe angegeben werden? Gruß sigi |
AW: Direkte Pfadangabe zur Datenbank (mdb) zwingend nötig?
Du kannst den connection string auch dynamisch beim Start der Applikation auf den dann gültigen absoluten Pfad setzen.
|
AW: Direkte Pfadangabe zur Datenbank (mdb) zwingend nötig?
Wenn im Connectionstring der Datenbankname ohne Pfad angegeben ist, sucht die Exe die Datenbank nur im eigenen Verzeichnis.
Sprich: Datenbank und Exe müssen sich dann im gleichen Verzeichnis befinden. |
AW: Direkte Pfadangabe zur Datenbank (mdb) zwingend nötig?
Zitat:
Gruß sigi |
AW: Direkte Pfadangabe zur Datenbank (mdb) zwingend nötig?
Darauf würde ich mich aber nicht verlassen.
|
AW: Direkte Pfadangabe zur Datenbank (mdb) zwingend nötig?
Hmm..
könnte es nicht sein, dass dann im 'Arbeitsverzeichnis' gesucht wird? Besser den Pfad absolut mit
Delphi-Quellcode:
ExtractFilePath(ParamStr(0)) + 'Daten.mdb'
im Connectionstring setzen. |
AW: Direkte Pfadangabe zur Datenbank (mdb) zwingend nötig?
Zitat:
Alternative: Statt nur den Dateinamen der Datenbankdatei
Delphi-Quellcode:
nehmen.
.\Datenbankdateiname.mdb
Im FormCreate kann man auch noch ein
Delphi-Quellcode:
machen, dann ist das aktuelle Verzeichnis auf jeden Fall auch das Arbeitsverzeichnis, unabhängig davon, wer wann und wo ein Arbeitsverzeichnis angegeben hat.
ChDir(ExtractFilePath(Application.ExeName));
Diese Variante nutze ich für Programme, die nicht installiert werden müssen, sondern von USB-Stick, externer Festplatte... laufen sollen und ihre Daten auf dem Speicherträger ablegen sollen, auf dem sich die Exe befindet. Allerdings lege ich die Daten, Konfigurationen... in Unterverzeichnissen ab. Der Datenbankname im Connectionstring sähe dann so aus:
Delphi-Quellcode:
Konfigurationen befinden sich im Unterverzeichnis Config, eine Dateinamenangabe sähe dann so aus:
.\Data\Datenbankdateiname.mdb
Delphi-Quellcode:
.\Config\Programmname.ini
|
AW: Direkte Pfadangabe zur Datenbank (mdb) zwingend nötig?
Hmm..
Wir bauen den ConnectionString grundsätzlich dynamisch zusammen und öffnen die DB gezielt. Über eine INI-Datei wird angegeben, zu welchem Datenbank-Typ die Verbindung aufgebaut werden soll und wie der Server-Name ist. Somit kann mal eine Access-Datenbank, mal ein MSSQL-Server oder eben eine andere ODBC-Schnittstelle verwendet werden, ohne dass im Programm was verändert werden muss. (Klar dass die SQL-Abfragen auf allen DB-Systemen gleich funktionieren müssen ;) ) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:06 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz