Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi TADOConnection - Datenbank wählen (https://www.delphipraxis.net/108344-tadoconnection-datenbank-waehlen.html)

daprodigy 12. Feb 2008 00:00

Datenbank: SQL Server • Zugriff über: ADO

TADOConnection - Datenbank wählen
 
Hallo zusammen

Ich arbeite an einer Delphi-Applikation, die eine Anbindung an einen SQL Server über ADO nutzt. Nun bin ich gezwungen die Datenbank dynamisch zu wechseln. Gibt es eine einfache Möglichkeit, dies zu tun? Im Moment löse ich dieses Problem ziemlich umständlich:

1. ich schliesse das geöffnete TADOConnection-Objekt
2. ich ändere den ConnectionString der Connection
3. ich öffne die Connection

Das Problem bei diesem Ansatz ist, dass der ConnectionString extern in einer ini-Datei gespeichert wird ... und das für jede Modul-Instanz. Wenn es eine einfachere Möglichkeit geben würde, die Datenbank zu wechseln, könnte ich diesen Abschnitt hart codieren, anstatt etliche ini-Dateien anpassen zu müssen.

Kann mir jemand helfen?

Vielen Dank!

Gruss,
daprodigy

mkinzler 12. Feb 2008 05:36

Re: TADOConnection - Datenbank wählen
 
Der Vorteil der Ini-Datei ist doch gerade, dass man einfacher wechseln kann. Wenn du die Connection hardcodierst, musst du immer das Programm ändern.
Wie meinst du das mit den Modulen? Warum verwendest du nicht ein Zugriffsmodul?

marabu 12. Feb 2008 05:43

Re: TADOConnection - Datenbank wählen
 
Herzlich willkommen in der Delphi-PRAXiS, daprodigy.

Microsoft hat für deine Zwecke den Universal Data Link spezifiziert: klick

Freundliche Grüße

Bernhard Geyer 12. Feb 2008 07:56

Re: TADOConnection - Datenbank wählen
 
Wenn du nur auf den MS SQL-Server zugreifen willst so erzeugt dir doch ein Formular mit Eingabemöglichkeit von Servernamen, Datenbanknamen und wenns sein muß des Protokollnamens. Mit diesen eingegebenen Daten füllst du deinen vordefinierten Connectionstring indem du an den entsprechenden Variablen Stellen mit %s arbeitest.

daprodigy 12. Feb 2008 08:25

Re: TADOConnection - Datenbank wählen
 
Guten Morgen!

WOW, erst mal vielen Dank für Eure Hilfe!! :) Hier wird man ja richtig geholfen ... :thumb:

@mkinzler: die Applikation läuft als dll auf einem Webserver. Es gibt bereits etwa 20-25 Mandanten, also genau so viele ini-Dateien. In diesen ini-Dateien, sind Applikations-spezifische Informationen (z.b. ConnectionString) sowie Mandant-Spezifische Informationen (z.b. Node-IDs, Name der Organisation, usw.) gespeichert. Es besteht also nicht lediglich eine ini-Datei für die Applikation, sondern wie gesagt pro Mandant eine Datei. Eine gemeinsame ini-Datei mit den applikatorischen Informationen ist wegen Zugriffsrechten auch nicht möglich.

ich dachte an etwas in der Art wie das Pendant bei PHP ... mysql_select_db(...)

TADOConnection.SetCatalog(...) würde mir am besten passen :dancer:

vielen Dank für Eure raschen Antworten, wünsch Euch allen einen schönen Tag :)

Gruss,
daprodigy


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:00 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