AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Ändern der Alias Adresse einer DB
Thema durchsuchen
Ansicht
Themen-Optionen

Ändern der Alias Adresse einer DB

Ein Thema von Jens Hartmann · begonnen am 4. Aug 2009 · letzter Beitrag vom 5. Aug 2009
Antwort Antwort
Benutzerbild von Jens Hartmann
Jens Hartmann

Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
 
Delphi XE2 Professional
 
#1

Ändern der Alias Adresse einer DB

  Alt 4. Aug 2009, 23:03
Datenbank: Firebird • Version: 2.1 • Zugriff über: ZEOS
Hallo zusammen,

mal wieder ein wahrscheinlich simple aber für mich zur Zeit nicht ganz klare frage.

Bei der Firebird DB arbeitet man ja mit Alias Adressen, die in der aliases.conf unter...
Code:
C:\Programme\Firebird\Firebird_2_1\aliases.conf'
Standartmäßig abgespeichert sind.

Wenn ich jetzt dem Kunden über z.B. folgenden Code (Öffnen eines OpenDialog und Standort wählen)

Delphi-Quellcode:
procedure TForm1.USERDB1Click(Sender: TObject);
var
  Speicherort : String;
  f : TextFile;
begin
if DatenbankUserOpenDialog.Execute then
  begin
    Speicherort := DatenbankUserOpenDialog.FileName;
  end;

  if DM_PS.SpeicherOrtDBUser(Speicherort) = true then
    begin
      AssignFile(f,'C:\Programme\Firebird\Firebird_2_1\aliases.conf');
      {$i-} Append(f); {$i+}
        if IOResult <> 0 then
          begin
          ShowMessage('Fehler beim schreiben der Alias');
          Exit;
          end;
        Writeln(f,'PSUser = '+Speicherort);
        CloseFile(f);
      MessageDlg('Datenbankverbindung erfolgreich geändert!',mtInformation,[mbOK],0);
    end
  else
    begin
      MessageDlg('Datenbankverbindung nicht geändert!',mtInformation,[mbOK],0);
    end;
end;
die Möglichkeit geben will, den Alias zu ändern, kommen wir mal wieder zu dem Thema Speicherorte. Ich kann ohne Adminrechte auf
C:\Programme ja nicht schreiben. Wie muss man sowas machen.

Also, schon mal danke bis dann.

Gruß Jens
Jens Hartmann
Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Ändern der Alias Adresse einer DB

  Alt 4. Aug 2009, 23:06
Die Frage ist, ob es sinnvoll ist, das ein normaler Benutzer diese Datei direkt bearbeiten können. U.U wäre es sinnvoller ein Programm dafür anzubieten, welches sich die Rechte besorgt (elevation)
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Jens Hartmann
Jens Hartmann

Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
 
Delphi XE2 Professional
 
#3

Re: Ändern der Alias Adresse einer DB

  Alt 4. Aug 2009, 23:17
Ja, das weiß ich momentan auch noch nicht so richtig.
Im normalen Fall, werden diese Rechner mit Adminrechten versehen sein. Frage wäre, ob es Sinn machen könnte, z.B. die Menüpunkte im Menü auf Enabled = false zu setzen, wenn eine USER (WINDOWS) angemeldet ist, der keine Adminrechte hat. Das kann man doch bestimmt irgendwie beim Programmstart abfragen lassen.

Grundsätzlich möchte ich halt diese Möglichkeit zur Verfügung stellen. Die Frage ist halt, wie es Sinn macht. Sollte ein Kunde anrufen, und die bitte haben, die DB an einem anderen Ort zu hinterlegen, würde ich Ihm halt gerne auf einfache weise, aber ohne etwas zu beschädigen dieses ermöglichen.

Den Speicherort der DB ändere ich im Datenmodul, über folgende Funktion...

Delphi-Quellcode:
{Speicherorte der Datenbanken ändern}
function TDM_PS.SpeicherOrtDBConfig(var DBOrt: String): Boolean;
begin
  if ConPSUser.Connected = true then
    begin
    ConPSConfig.Disconnect;
    ConPSConfig.Database := DBOrt;
      try
        ConPSConfig.Connect;
        SpeicherOrtDBConfig := true;
      except
        SpeicherOrtDBConfig := false;
      end;
    end
  else
    begin
    ConPSConfig.Database := DBOrt;
      try
        ConPSConfig.Connect;
        SpeicherOrtDBConfig := true;
      except
        SpeicherOrtDBConfig := false;
      end;
    end;
end;
Somit, kann er währende dem laufenden Programm die DB ändern und alles funktioniert. Ich muss halt jetzt nur hinbekommen, das auch nach einem Neustart, natürlich auf den neuen Standort zugegriifen wird.

Gruß Jens
Jens Hartmann
Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
  Mit Zitat antworten Zitat
Benutzerbild von Jens Hartmann
Jens Hartmann

Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
 
Delphi XE2 Professional
 
#4

Re: Ändern der Alias Adresse einer DB

  Alt 5. Aug 2009, 22:26
Hab das ganze nochmal überdacht. Ich werde die Funktion so belassen und diese Funktion nur Administratoren erstmal zur Verfügung stellen.

Aber wie sieht es denn aus, wenn ich den Standort der Datenbank, nicht in die aliases.conf, sondern in die Registry schreibe. Ist das OK, oder macht man sich über so eine Funktion gar keine Gedanken.

Was bedeutet das oben mit dem externen Programm...

Zitat von mkinzler:
U.U wäre es sinnvoller ein Programm dafür anzubieten, welches sich die Rechte besorgt (elevation)
Gruß Jens
Jens Hartmann
Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Ändern der Alias Adresse einer DB

  Alt 5. Aug 2009, 22:30
Ich dachte da, z.B. an einen zusätzlichen Dienst auf den Server, mit Hilfe man die Aliase verwalten kann
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Jens Hartmann
Jens Hartmann

Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
 
Delphi XE2 Professional
 
#6

Re: Ändern der Alias Adresse einer DB

  Alt 5. Aug 2009, 22:36
Das ist mir jetzt ein bißchen unklar. Da fehlen mir jetzt die Erfahrungen. Ich vermute, Du meinst ein Programm, was als Dienst läuft, welches sich beim Start, wie auch immer ADMIN Rechte besorgt, in dem man dann diese Alias einstellen könnte.

Gruß Jens
Jens Hartmann
Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Ändern der Alias Adresse einer DB

  Alt 5. Aug 2009, 22:38
Bei Diensten kann man direkt angeben, unter welchem Account sie gestartet werden sollen.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Jens Hartmann
Jens Hartmann

Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
 
Delphi XE2 Professional
 
#8

Re: Ändern der Alias Adresse einer DB

  Alt 5. Aug 2009, 22:41
Alles klar,

danke erstmal. Werde mich mal damit auseinandersetzte und bei Gelegenheit bestimmt nochmal Fragen.

Gruß Jens
Jens Hartmann
Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:39 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