![]() |
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 |
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? |
Re: TADOConnection - Datenbank wählen
Herzlich willkommen in der Delphi-PRAXiS, daprodigy.
Microsoft hat für deine Zwecke den Universal Data Link spezifiziert: ![]() Freundliche Grüße |
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.
|
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 11:12 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