Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Firebird nutzt die falsche Aliases.conf (https://www.delphipraxis.net/162012-firebird-nutzt-die-falsche-aliases-conf.html)

QuickAndDirty 2. Aug 2011 10:17

Datenbank: Firebird • Version: 2.5 • Zugriff über: Anydac

Firebird nutzt die falsche Aliases.conf
 
Hallo,
ich installiere zu einem bereits laufenden Firebirdserver eine
zusätzliche Firebirdinstallation. Diese läuft als service mit dem "-Name meinFB" parameter. Und das funktioniert alles auch prima...

Beide Services sind von einander isoliert und beeinflussen sich nicht gegenseitig....dachte ich.

Leider benutzt der Nachinstallierte Firebirdserver die Aliases.Conf des "Default Instance" Firebirds.

Er geht also wahrscheinlich über den pfad in der registry um die zu finden....
Ich will aber das er seine eigene benutzt. wie machen ich das?

Habe schon versucht das über den Parameter
RoorDirectory in der Firebird.conf zu lösen....kein Erfolg.

Dazu möchte ich noch ergänzen das ISQL.EXE und GSEC.EXE absolut die Richtige Aliases.conf verwenden.

Also entweder benutzt die FB instanz die falsche Aliases.conf oder die FBClient.DLL oder Anydac...

An welcher Stelle muss ich da eingreifen. Und Wie?

tsteinmaurer 2. Aug 2011 12:25

AW: Firebird nutzt die falsche Aliases.conf
 
Kann es sein, dass die erste Instanz über den Installer installiert wurde? Kann jetzt nicht 100% sagen, aber ich kann mir gut vorstellen, dass ein Registry-Eintrag geschrieben wird, der Form:

HKLM\SOFTWARE\Firebird Project\Firebird Server\Instances

den dann die 2. Instanz hernimmt. Falls vorhanden, einfach mal versuchen den Registry-Eintrag umzubenennen.

Wie sieht denn der Connect-String aus? Im Prinzip wird ja die entsprechende Instanz über die Notation server/port angesprochen, wo dann auch die richtige aliases.conf verwendet werden sollte.

lg,
Thomas

QuickAndDirty 2. Aug 2011 12:35

AW: Firebird nutzt die falsche Aliases.conf
 
Zitat:

Zitat von tsteinmaurer (Beitrag 1114634)
Kann es sein, dass die erste Instanz über den Installer installiert wurde? Kann jetzt nicht 100% sagen, aber ich kann mir gut vorstellen, dass ein Registry-Eintrag geschrieben wird, der Form:

HKLM\SOFTWARE\Firebird Project\Firebird Server\Instances

den dann die 2. Instanz hernimmt. Falls vorhanden, einfach mal versuchen den Registry-Eintrag umzubenennen.

Wie sieht denn der Connect-String aus? Im Prinzip wird ja die entsprechende Instanz über die Notation server/port angesprochen, wo dann auch die richtige aliases.conf verwendet werden sollte.

lg,
Thomas

ja alles geht wenn ich Pfadangaben statt alliase benutze.

localhost/6001:c:\meineDB\Meinedb.fdb
geht perfekt !!!!

localhost/6001:MeinAlias
geht nicht außer ich schreibe den Alias ihn in die falsche Alias.conf

HKLM\SOFTWARE\Firebird Project\Firebird Server\Instances
dieser registry eintrag ist von einer zuvor standard mäßigen installation von FB... die soll weiter genau so funktionieren wie bisher...

Ich will das die zweite Instanz den Registry eintrag nicht benutzt. Wie mache ich das?

tsteinmaurer 2. Aug 2011 13:52

AW: Firebird nutzt die falsche Aliases.conf
 
Du hast ja gemeint, dass es z.B. mit ISQL funktioniert, oder? Ist das dann ev. eine reine AnyDAC-Sache? Wie sieht denn dort der Connect-String etc. aus? Gibt es dort nicht auch ein "Alias-Konzept", das als solches nichts mit Firebird-Aliase zu tun hat?

Generell ist es so, dass Firebird den Registry-Eintrag überhaupt nicht benötigt. Er wird deshalb installiert, weil zwecks Rückwärtskompatibilität dieser ev. von Client-Anwendungen verwendet wird, um das Firebird-Verzeichnis auszulesen.

Thomas

QuickAndDirty 2. Aug 2011 13:57

AW: Firebird nutzt die falsche Aliases.conf
 
Nun in Anydac ist der connection string einfach auf auf mehrer zeilen verteilt^^

Das geht nur mit eintrag in scheinbar zentraler aliases.conf

in der Params:tstrings vom connection objekt

Server=LOCALHOST/6001
Database=MeinAlias
DriverID=IB
User_Name=test
Password=test


Das geht immer aber wir brauchen den alias....wegen 1,2 Mio Zeilen code!

Server=LOCALHOST/6001
Database=C:\MeineDB\DB.ftb
DriverID=IB
User_Name=test
Password=test

seltsame sache insgesammt

QuickAndDirty 2. Aug 2011 18:41

AW: Firebird nutzt die falsche Aliases.conf
 
und nun?

tsteinmaurer 2. Aug 2011 19:41

AW: Firebird nutzt die falsche Aliases.conf
 
Ich habe kein AnyDAC hier. Sorry.

Lemmy 2. Aug 2011 20:00

AW: Firebird nutzt die falsche Aliases.conf
 
Hi,

du bist dir aber sicher, dass Du dich mit der korrekten Firebird-Instanz verbindest? Klar sehe ich die Portangabe im Connectionstring - doch kann AnyDac den auflösen? Schalte doch bitte mal die "falsche" Instanz ab und schau ob du dann noch eine Verbindung mit dem Server aufbauen kannst...

Grüße

QuickAndDirty 2. Aug 2011 23:48

AW: Firebird nutzt die falsche Aliases.conf
 
Zitat:

Zitat von Lemmy (Beitrag 1114798)
Hi,

du bist dir aber sicher, dass Du dich mit der korrekten Firebird-Instanz verbindest? Klar sehe ich die Portangabe im Connectionstring - doch kann AnyDac den auflösen? Schalte doch bitte mal die "falsche" Instanz ab und schau ob du dann noch eine Verbindung mit dem Server aufbauen kannst...

Grüße

Es ist zumindest nach Anydac Handbuch so...
Aber das ist wirklich mal ne Idee.

Das Problem ist nur, ihr seit euch selbst auch nicht wirklich sicher wie es sich mit Multiplen FB Instanzen + dem FB-Registry-Pfad + Aliases.conf verhält...so wie ich das raushöre.

Vielleicht sollte ich in den C++ sourcen nach Aliases.conf suchen?

Lemmy 3. Aug 2011 00:44

AW: Firebird nutzt die falsche Aliases.conf
 
Ich habe es noch nicht gemacht, aber lt. dem hier sollte das kein Provblem sein:

http://www.firebirdfaq.org/faq60/

und so wirst du es vermutlich auch gemacht haben?

QuickAndDirty 3. Aug 2011 11:19

AW: Firebird nutzt die falsche Aliases.conf
 
Nein,
Denn ich dachte eigentlich das es möglich ist den Firebird parallel zu installieren...ohne das ich in Installationen anderer Propgramme rumpfuschen muss. Ich habe auch eine andere anleitung benutzt...die aus dem PDF Handbuch in den FB.Zip Archiven(X64 und x86).

ich Schreibe eine Setup...bzw. habe eines geschrieben...egal...
Auf jedenfall soll es einen NEUEN vollkommen nur für uns laufenden FBServer installieren...das kann es
nur benutzt es eben die falsch aliases.conf...

Ich möchte nicht im Sysdir nach DLL suchen, wir kopieren die FBClient.dll in das Bin Verzeichnis unseren programme...
Ich will anderen installationen(delphi, Avira ) nicht die SystemPfade für ihren Firebird wegnehmen.
Ich will anderen installationen(delphi, Avira ) nicht die Registrypfade für ihren Firebird wegnehmen.


Sprich ich will mich nicht mit anderen Herstellern anlegen...oder abstimmen müssen...es soll alles nur von unserem Firebird und unserem Programnm abhängen...

Sag bitte das das geht....*heul*

ChrisE 3. Aug 2011 15:42

AW: Firebird nutzt die falsche Aliases.conf
 
Zitat:

Zitat von QuickAndDirty (Beitrag 1114869)
Sag bitte das das geht....*heul*

Es geht :cheer: ;-)

Also was bei mir geht ist folgendes:
- FireBird 2.1 installiert
  • alias.conf angepasst mit drei Datenbanken die in Verzeichnis "xy" und "z" liegen
  • fbconf angepasst das die Ports 4050 und 4060 sind
  • per instsvc i -g -n "FireBird 2.1" den Service als SuperServer mit Guardian angelegt
- FireBird 2.5 installiert
  • alias.conf angepasst mit drei anderen Datenbanken die nur in Verzeichnis "xy" liegen
  • fbconf angepasst das die Ports 3050 und 3060 sind
  • instsvc nicht benutzt weil das der Installer ja per Default selber kann (Guardian und SuperServer)
- Windows Firewall die 4 Ports aufgemacht
- An Client per IBExpert kann ich mich auf alle DBs verbinden.

Es sollte also gehen :-)

Gruß, Chris

tsteinmaurer 3. Aug 2011 15:59

AW: Firebird nutzt die falsche Aliases.conf
 
Ich hab auf meiner Entwicklungsmaschine auch mehrere Instanzen laufen und es wird die korrekte aliases.conf verwendet. Er hat ja auch gemeint, dass z.B. ISQL bei ihm die richtige aliases.conf der Instanz verwendet. Vielleicht ist es ja ein AnyDAC Problem. :-D

Thomas

ChrisE 3. Aug 2011 16:13

AW: Firebird nutzt die falsche Aliases.conf
 
Zitat:

Zitat von tsteinmaurer (Beitrag 1114923)
Vielleicht ist es ja ein AnyDAC Problem. :-D

Da hast du vollkommen recht. Ich wollte damit eigentlich auch sagen - was ich nicht sehr gut / gar nicht richtig ausgeführt habe - dass man zunächst mit einem sicher funktionierenden Client testen sollte, ob die Server Ihre arbeit richtig machen.

Ein einfacher Test wäre, auf einem Client ohne installierten FB isql im fb-emb-Pfad zu packen und in der Konsole zu starten. Der Aufruf
Code:
CONNECT SERVER/PORT:DBAlias user 'BENUTZER' password 'GEHEIM';
sollte eigentlich dann funktionieren.

Wenn das der Fall ist, passt irgendwas nicht an AnyDAC oder an der eigenen Programmierung.

Gruß, Chris

QuickAndDirty 8. Aug 2011 12:31

AW: Firebird nutzt die falsche Aliases.conf
 
Ich habe das setup erstmal auf Pfade umgestellt....
weil die Aliases.conf nicht ganz sicher funktioniert in der Konstellation die wir haben.
Aber ich werde mich darum noch mal kümmern wenn der Zeitdruck nicht so fies ist.(Das Produkt ist schon verkauft...aber das Setup dazu existiert noch nicht...)


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