Clik here to view.

Frage: Ich nutze ein lokal installiertes InterBase. Ich möchte über Datenbankzugriffskomponenten darauf zugreifen. Aber sowohl FireDAC, als auch InterBase Express/IBX geben mir diese Nachricht:
FireDAC:
Image may be NSFW.
Clik here to view.
InterBase Express/IBX:
Image may be NSFW.
Clik here to view.
Folgende Beobachtungen habe ich gemacht:
- Das passiert nur in der IDE - In der IBConole kann ich auf die Datenbanken zugreifen
- Die Dateien sind definitiv vorhanden
- Benutzernamen und -kennwort habe ich richtig eingegeben
- Stelle ich in IBX auf "Remote" um (mit "localhost") funktioniert es
- Stelle ich in FireDAC auf "TCPIP" um (mit server=localhost) funktioniert es
Wodran liegt das?
Antwort: Das liegt wahrscheinlich an den Umgebungsvariablen in der IDE vom RAD Studio/Delphi/C++Builder. Es gibt zwei Variablen, die hier zum Tragen kommen und vom RAD Studio für die Verbindung genommen werden.
- INTERBASE - Das Verzeichnis der InterBase Installation;
- IB_PROTOCOL - Der Instanzname; normalerweise/default "gds_db". Dies ist auch hier weiter dokumentiert. Faktisch ist das die Port-Nummer default:3050) von InterBase
Normalerweise sind diese nicht gesetzt; können aber (gerade bei Mehrfach-Instanzen von InterBase) das Ganze etwas durcheinander bringen. Man muss dann die Variablen setzen bzw ändern.
Generell können die Variablen unter "Tools | Optionen | Umgebungsoptionen | Umgebungsvariablen" gesetzt werden. Normalerweise ist dies nicht nötig, da es nur eine Instanz von InterBase gibt, aber das RAD Studio/Delphi/C++Builder kann man für die Standardwerte hier anpassen
INTERBASE |
C:\Program Files\Embarcadero\InterBase |
IB_PROTOCOL |
gds_db |
Nach dem Ändern der Umgebungsvariablen ist ein Neustart der IDE notwendig!
Eine andere Möglichkeit für den "unavailable database" Fehler kann InterBase selbst sein: Wenn man die "Developer-Edition" benutzt, nimmt diese nach 48 Stunden keine Verbindungen mehr an. Ein Neustart des InterBase Servers behebt dann auch das Problem.