Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Delphi DB- umschalten (https://www.delphipraxis.net/213318-db-umschalten.html)

d.adams 7. Jul 2023 19:25

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....

himitsu 7. Jul 2023 19:57

AW: DB- umschalten
 
Irgendwo gibt es bestimmt eine Delphi-Referenz durchsuchenTADOConnection und Jene hat vermutlich ein Database-Property ein Delphi-Referenz durchsuchenTADOConnection.ConnectionString-Property, welches du natürlich ändern kannst.

Und dann bietet diese Connection auch noch .Close und Delphi-Referenz durchsuchenTADOConnection.Open.

d.adams 7. Jul 2023 20:36

AW: DB- umschalten
 
Zitat:

Zitat von himitsu (Beitrag 1524338)
Irgendwo gibt es bestimmt eine Delphi-Referenz durchsuchenTADOConnection und Jene hat vermutlich ein Database-Property ein Delphi-Referenz durchsuchenTADOConnection.ConnectionString-Property, welches du natürlich ändern kannst.

Und dann bietet diese Connection auch noch .Close und Delphi-Referenz durchsuchenTADOConnection.Open.

erstmal Danke!

Ich habe vergessen: Ich muss mit Delphi 7 arbeiten, die ADOConnection hat kein Database-Property, lediglich ein DEFAULTDATABASE..

Delphi.Narium 7. Jul 2023 23:48

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:
var
  sConnection  : String;
begin
  ADOConnection.Connected := false;
  ADOConnection.ConnectionString := PromptDataSource(handle,sConnection);
  ADOConnection.Connected := true;
end;
Den Connctionstring kannst Du dann ja irgendwo speichern (INI-Datei, ...) und bei Bedarf wieder zuweisen.


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