![]() |
Datenbankpfad dynamisch erstellen
Hallo,
ich hab ja mein Programm auf einem Testlaufwerk liegen und darunter hab ich einen Ordner mit database. In diesem Ordner liegt meine Datenbank, welche mit mit meinem Programm verbunden ist. Jetzt möchte ich aber mein Programm mit der Datenbank auf einen anderen Rechner übertragen, sprich ich möchte NUR die Exe Datei und den Datenbankordner inkl. DB mitnehmen und in einen neuen Ordner einfügen. Jetzt ist es aber so, dass mein Programm auf jede Datenbank zugreifen möchte, welche auf meinem Testrechner im Testordner liegt. Wie kann ich mein Programm dazu bringen, dass er NUR vom Unterordner meine DB nimmt? Der ConnectionString sieht so aus:
Code:
ConnectionString =
'Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\Programme\Hohen' + 'burgerhof\Programm4\database\kundendaten.accdb;Mode=ReadWrite;Pe' + 'rsist Security Info=False' |
AW: Datenbankpfad dynamisch erstellen
Zitat:
Woran merkt man denn, daß Dein Programm mit jeder DB eines Verzeichnisses Kontakt aufnehmen will? Liegen da vielleicht noch ein paar offene Connections irgendwo herum? Gruß K-H |
AW: Datenbankpfad dynamisch erstellen
wenn er schon gesetzt ist (ist ja oft so beim Entwickeln)
Delphi-Quellcode:
ADOConnection1.Properties.Item['Data Source'].Value := ExtractFilePath(Paramstr(0)) + 'database\kundendaten.accdb';
Showmessage(ADOConnection1.ConnectionString); |
AW: Datenbankpfad dynamisch erstellen
Versteh ich jetzt nicht.
Diesen Code hab ich aus der Unit1.dfm:
Code:
Dort steht der ganze Pfad drin.
object ADOConnection1: TADOConnection
Connected = True ConnectionString = 'Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\Programme\Hohenburgerhof\Programm4\database\kundendaten.accdb;Mode=ReadWrite;Pe' + 'rsist Security Info=False' LoginPrompt = False Mode = cmReadWrite Provider = 'Microsoft.ACE.OLEDB.12.0' Left = 64 Top = 544 |
AW: Datenbankpfad dynamisch erstellen
Ich denke, dass der Connectionstring fest einprogrammiert ist. Also würde ich folgendes vorschlagen:
|
AW: Datenbankpfad dynamisch erstellen
Ok, das würde ja eigentlich logisch klingen, nur muss ich das über die Registry machen?
Wie würde es aussehen, wenn man dies über eine INI-Datei macht, die im Pfad des Programmes liegt? |
AW: Datenbankpfad dynamisch erstellen
packe einfach die erste Zeile meines Codes in BeforeConnect der Connection
|
AW: Datenbankpfad dynamisch erstellen
Oh, DANKE. Das hat prima funktioniert.
|
AW: Datenbankpfad dynamisch erstellen
Zitat:
Zu Bummis Vorschlag: Der Funktioniert natürlich ebenfalls, aber nur unter 2 Voraussetzungen: 1. Du setzt voraus, dass die relativen Pfade stimmen 2. Du setzt voraus, dass der Pfad wo die DB liegt Schreibrechte besitzt |
AW: Datenbankpfad dynamisch erstellen
Zitat:
Zitat:
Gruß K-H |
AW: Datenbankpfad dynamisch erstellen
Zitat:
Zitat:
Gruß K-H |
AW: Datenbankpfad dynamisch erstellen
Die Einwände sind beide berechtigt, ich habe mich hier rein an die Anforderungen gehalten.
|
AW: Datenbankpfad dynamisch erstellen
Zitat:
|
AW: Datenbankpfad dynamisch erstellen
Hatte ich auch nicht so aufgefasst ...:cheers:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:57 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