Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Pfad des Alias einer Datenbank ermitteln. (https://www.delphipraxis.net/154080-pfad-des-alias-einer-datenbank-ermitteln.html)

Jens Hartmann 26. Aug 2010 21:59

Datenbank: Firebird • Version: 2.1 • Zugriff über: ZEOS

Pfad des Alias einer Datenbank ermitteln.
 
Hallo und schönen guten Abend zusammen,

ich suche mir jetzt seit einigen Stunden die Finger wund. Kann mir vieleicht jemand sagen, wie man über eine Komponente in der die Alias als Datastring steht, an den Speicherort der Datenbank kommt, ohne die aliases.conf von Firebird auszulesen.

Es muss doch möglich sein, diese über die Komponenete zu realisieren. Oder liege ich da falsch?:gruebel:

Gruß Jens

Piethan 26. Aug 2010 22:59

AW: Pfad des Alias einer Datenbank ermitteln.
 
Hallo Jens,

du kannst dies per SQL abfragen, dies geht seit der Version 2.1. Schaue dir mal
diese Seite an :http://www.ibexpert.net/ibe/index.ph...tiveFeatures21

Code:
select MON$DATABASE_NAME from MON$DATABASE
LG
Dirk

hoika 27. Aug 2010 07:07

AW: Pfad des Alias einer Datenbank ermitteln.
 
Hallo,

Zitat:

MON$DATABASE_NAME (database pathname or alias)
D.h. dort steht auch der Alias drin.

Fände ich auch doof, wenn es so einfach wäre,
einen meines Erachtens guten Schutz (Verstecken des wahren Pfades) auszuhebeln.


Heiko

mkinzler 27. Aug 2010 07:13

AW: Pfad des Alias einer Datenbank ermitteln.
 
Warum ist das so wichtig?

Piethan 27. Aug 2010 09:52

AW: Pfad des Alias einer Datenbank ermitteln.
 
Ich frage diese Info bei einer DB ab, welche ich per Alias anspreche und bekomme den Pfad angezeigt.
Gut finde ich das zwar nicht, aber wer schon soweit ist, dass er diesen Befehl an die Datenbank senden
kann, kann dort bestimmt genug Schaden anrichten.

Dirk

mkinzler 27. Aug 2010 10:08

AW: Pfad des Alias einer Datenbank ermitteln.
 
Das DBMS löst den Alias ja auf.

HeikoAdams 27. Aug 2010 10:19

AW: Pfad des Alias einer Datenbank ermitteln.
 
Wenn man ausschließlich mit embedded FB-Servern arbeitet, würde es auch reichen, die aliases.conf zu parsen :wink: Auch wenn der OP das grade nicht möchte.

hoika 27. Aug 2010 11:01

AW: Pfad des Alias einer Datenbank ermitteln.
 
Hallo,

Zitat:

kann dort bestimmt genug Schaden anrichten
Einspruch ;)

Ist die DB anständig "gewartet", habe ich also keine Rechte,
kann ich sie beim Wissen des Pfades einfach kopieren (wenn Server-Zugriff erlaubt).

OK, ich kann dann auch in der Aliases.conf nachsehen ;)


Heiko

Jens Hartmann 27. Aug 2010 11:34

AW: Pfad des Alias einer Datenbank ermitteln.
 
Zitat:

Zitat von mkinzler
Warum ist das so wichtig?

Da ich eine täglich automatische Datenbanksicherung eingerichtet habe. Sollte jetzt jemand externes (Admin etc.) Die Datenbankpfade ändern, würde er ja erstmal nur die Aliases.conf anpassen und das Programm würde weiter funktionieren. Allerdings krachte es bei der ersten tägliche Sicherung, da die DB nicht vorhanden wäre. Dieses könnte passieren, da die DB im Netzlaufwerk liegt und von einer anderen Stelle betreut wird, als das entsprechend örtlich mit einem fremden Standort betreute Objekt.

Ich möchte mir damit eine Möglichkeit schaffen, dem Admin die Standorte der DB frei zur Verfügung zu lassen, da die Anwendung diese selber finden würde.

Zitat:

Zitat von HeikoAdams
die aliases.conf zu parsen

So mache ich es zur Zeit, finde es aber nicht als eine schöne Lösung und dachte, das die DBMS mir da eine einfachere und saubere Lösung zur Verfügung stellt.

Gruß Jens

mkinzler 27. Aug 2010 11:38

AW: Pfad des Alias einer Datenbank ermitteln.
 
Wie machst du den Backup? gabk/nbak sollte eigentlich auch mit Aliasen funktionieren

tsteinmaurer 27. Aug 2010 11:57

AW: Pfad des Alias einer Datenbank ermitteln.
 
Hallo,

bzgl. Alias vs. echter Pfad in MON$DATABASE existiert eine Regel wie folgt (sofern ich mich richtig erinnere):

- Bei einer Verbindung ohne Alias wird der physische Pfad angezeigt
- Bei einer Verbindung mit Alias wird der Alias angezeigt, wenn in firebird.conf DatabaseAccess = None gesetzt ist. Sonst wird der physische Pfad angezeigt

Thomas

Jens Hartmann 27. Aug 2010 12:04

AW: Pfad des Alias einer Datenbank ermitteln.
 
Über eine Backup Komponente der ich den Backuppfad angeben muss.
Delphi-Quellcode:
procedure TfDBSave.btnSaveTestClick(Sender: TObject);
var
  FormCaption : string;
begin
  try
    FormCaption := Caption;
    Caption:= 'Backup läuft !';
    try
      with ibBackUpPSSecur do
      begin
        ServerName:= 'LOCALHOST';
        Params.Add('user_name=SYSDBA');
        Params.Add('password=masterkey');
        LoginPrompt := False;
        Active:= True;
        try
          Verbose:= False;
          Options:= [];
          DataBaseName:= 'PSSecur';
          BackupFile.Clear;
          BackupFile.Add(edtExeName.Text+'\PSSecurdat.bak');
          ServiceStart;
        finally
          Active:= False;
        end;
      end;
    finally
      Caption:= FormCaption;
    end;
  finally
    ibBackUpPSSecur.Active := False;
  end;
end;
Ich weiß, das gefällt einigen auch nicht mit Interbase und Firebird, aber es funtioniert sehr gut.

Gruß Jens

mkinzler 27. Aug 2010 12:09

AW: Pfad des Alias einer Datenbank ermitteln.
 
Es müsste auch möglich sein denn Alias statt dem Pfad zu übergeben

Jens Hartmann 27. Aug 2010 12:37

AW: Pfad des Alias einer Datenbank ermitteln.
 
Werde ich prüfen, Danke...

Gruß Jens

Jens Hartmann 30. Aug 2010 18:19

AW: Pfad des Alias einer Datenbank ermitteln.
 
Sorry,

Danke Markus, aber manchmal steht man total neben sich. Ich hatte das immer noch auf meiner Todo-Liste, aber scheinbar schon abgearbeitet.:pale:
Delphi-Quellcode:
          Verbose:= False;
          Options:= [];
[B]      DataBaseName:= 'PSSecur';[/B]
          BackupFile.Clear;
          BackupFile.Add(edtExeName.Text+'\PSSecurdat.bak');
          ServiceStart;
Es geht also mit den Alias angaben. Danke trotzdem.

Gruß Jens


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