![]() |
Datenbank: Firebird • Version: 1.5 • Zugriff über: IBX
Firebird-Connectstring
Hallo zusammen,
Ich arbeite mit Firebird. Nun muss ja die Datenbank immer aus Sicht des Servers angegeben werden. Das ist soweit klar und wurde auch hier im Forum mehrfach erklärt. Ich habe in meinem Programm eine Mandantenverwaltung. Der Anwender kann somit neue Mandanten (Datenbanken) anlegen. Wie bekomme ich nun den lokalen (aus Sicht des Servers) Datenbankpfad heraus, sodass ich den Connectstring korrekt erzeugen kann ? Beispiel : UNC-Pfad : \\SERVER\DATEN\DATENPFAD\ Connectstring: SERVER:D:\DATENPFAD\ MfG |
Re: Firebird-Connectstring
Connectpfad für Firebird
unter C:\Programme\Firebird\Firebird_1_5\aliases.conf den Alias Namen angeben. z.B. mbr=c:\mbr\mbr.fdb Ansprechen unter Servername:mbr oder 80.121.216.209:mbr peter |
Re: Firebird-Connectstring
Hallo Peter12,
das ist ja klar, aber genau das möchte ich ja nicht. Um das Problem verständlicher zu erklären folgender Ablauf. 1. Der Anwender wählt in meinem Programm ein Serverlaufwerk aus (gemappt oder über Netzwerkverbindungen ist egal). 2. In diesem Verzeichnis (bspw. \\SERVER\DATEN\MANDANT\) soll die neue Datenbank per Programm erzeugt werden. 3. Aus Sicht des Servers ist dieses Verzeichnis aber D:\DATEN\MANDANT\. 4. Mein Programm soll in diesem Verzeichnis eine DB anlegen und einen Connect herstellen, ohne das manuell irgendetwas angepasst werden muss (ALIAS). Dafür benötige ich für den Connectstring "D:\DATEN\MANDANT". Wie kann ich also per Programm das Verzeichnis aus Sicht des Servers auslesen ? MfG |
Re: Firebird-Connectstring
Hallo Harry,
der Server-Admin wird sich bedanken - irgendein Client sucht sich irgendein Verzeichnis auf dem Server aus und erzeugt dort eine Datenbank? Wenn überhaupt, dann gebe ich dir als Admin ein Share und trage dich im Quota-Server ein. Warum gibst du dem DBA nicht ein Installations-Skript und gut ist? Welchen Sinn macht das Anlegen einer Datenbank durch den Client? Freundliche Grüße vom marabu |
Re: Firebird-Connectstring
Hi,
ich denke auch, dass das sehr gefährlich sein wird. Wo ist das Problem, wenn der Server den Pfad für die DB selbst bestimmt? Wenn Du dann ne Übersicht über alle bestehenden DB's brauchst (um dich später wieder damit zu verbinden), kannst Du diese entweder in einer System-DB deiner Applikation abspeichern oder nen Dienst schreiben, der das entsprechende Verzeichnis überwacht. Einen Zugriff auf eine IB/FB-DB über ein gemapptes / freigegebenes Laufwerk halte ich für sehr bedenklich. Was, wenn der User "mal eben" eine Kopie der DB mit nach Hause nehmen will? Russisches Roulette kann nicht schöner sein! ;-) Grüße Lemmy |
Re: Firebird-Connectstring
Hallo zusammen,
ist ja schön, daß meine Frage so eine Diskussion ausgelöst hat. Leider lösen die Antworten nicht mein Problem. Ein paar Bemerkungen: 1. Welchen Sinn macht das Anlegen einer Datenbank durch den Client? Ganz einfach, weil es Anwender gibt die keinen Administrator haben. Vor allem betriebswirtschaftliche Anwendungen bieten dem User die Möglichkeit mit mehreren Mandanten (je Mandant eine DB) zu arbeiten. Ein typisches Beispiel ist eine Finanzbuchhaltung. Der Anwender muss also ohne fremde Hilfe (Admin) einen Mandanten (Datenbank) anlegen können. Viele professionelle Applikatiponen bieten diese Funktion. Also, er wählt ein Verzeichnis aus und die DB wird dort erzeugt. 2. Einen Zugriff auf eine IB/FB-DB über ein gemapptes/freigegebenes Laufwerk halte ich für sehr bedenklich. Ich bin bei diesem Thema ganz eurer Meinung. Ich habe grundsätzlich da auch so meine Bedenken. Aber das war nicht meine Frage. Also noch einmal: Gibt es eine Möglichkeit mit Delphi das Verzeichnis aus Sicht des Servers zu ermitteln. Ich möchte nicht wissen, ob das Sinn macht, sondern wie das geht. Ich habe da so ein paar Beispiele über die Funktion "WNetEnumResource". Das funzt aber nicht so recht. Ich kann UNC-Pfad und Servernamen auslesen. Wie kann ich nun daraus das Verzeichnis aus Sicht des Servers ermitteln ? MfG |
Re: Firebird-Connectstring
Hi,
Zitat:
Lemmy |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:25 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