![]() |
DB- umschalten
Hallo,
ich stehe ein bisschen auf dem Schlauch.Ich habe eine ältere Anwendung "geerbt" die im Prinzip nichts anderes macht als SQL-Skripts abschicken. Das Programm geht per ADO auf einen SQL-Server, den Connection-String liest es aus einer UDL-Datei beim Start und verbindet sich dann mit einer Datenbank. Ich muss die Anwendung erweitern und zwar soll zur Laufzeit ein Wechsel der Datenbank (Testsystem / Livesystem) möglich sein. Umsetzen möchte ich das Umschalten über eine Auswahlbox. Dort hinein schreibe ich alle DB´s des Servers. Wie aber stelle ich nach Auswahl einer anderen DM in dieser Auswahlbox die DB-Verbindung um? Und zwar möglichst sinnvoll.... Ich dachte schon daran das UDF-File zu lesen, dort den DB-Namen zu ersetzen und dann neu Verbinden. Aber geht das auch eleganter? Zumal ich mir vorstelle noch mehr zu erweitern, nämlich mehrere Abfragen gleichzeitig zu öffnen (ist im Moment nicht möglich) und für jedes Abfragefenster die Connection zu speichern.... |
AW: DB- umschalten
Irgendwo gibt es bestimmt eine
![]() ![]() Und dann bietet diese Connection auch noch .Close und ![]() |
AW: DB- umschalten
Zitat:
Ich habe vergessen: Ich muss mit Delphi 7 arbeiten, die ADOConnection hat kein Database-Property, lediglich ein DEFAULTDATABASE.. |
AW: DB- umschalten
Habe auch "nur" Delphi 7 und die TAdoConnection hat einen Connectionstring. Benutze ich täglich in meinen Programmen.
Und wenn Du zur Laufzeit 'ne neue Verbindung aufbauen willst, geht das z. B. mit
Delphi-Quellcode:
Den Connctionstring kannst Du dann ja irgendwo speichern (INI-Datei, ...) und bei Bedarf wieder zuweisen.
var
sConnection : String; begin ADOConnection.Connected := false; ADOConnection.ConnectionString := PromptDataSource(handle,sConnection); ADOConnection.Connected := true; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:33 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 by Thomas Breitkreuz