![]() |
Datenbank: Interbase • Version: 2020 • Zugriff über: FireDAC
DB-Verbindung mit Interbase
Hallo werte Datenbankspezialisten,
ich versuche nun sein Monaten immer mal wieder endlich eine Interbase-Datenbank mit Delphi zum Laufen zu bringen. Doch es will einfach nicht klappen und ich finde einfach die Ursache dafür nicht. Es ist zwar nur für mich allein, doch wenn ich Delphi prof mit den IB-Licensen schon habe, möchte ich es damit auch mal versuchen. Ich benutze Delphi 10.2 und habe IBLite XE7 Deployment , Interbase 2020 Developer Edition und Interbase 2017 Developer Edition installiert und registriert (Lizenzmanager zeigt alle an). Ich benutze die Beispieldatenbank Interbase employee.gdb zusmammen mit Firedac. Wenn ich nun connecten will erscheint stets die Fehlermeldung [FireDAC][Phys][IB] unavailable database für die eingestellte Datenbank employee.gdb. Auch andere Beispiel-IB-Datenbanken bringen das gleiche Ergebnis. Auch über dbExpress das gleiche negative Ergebnis. Was mache ich falsch, denn mit Firebird habe ich keine Probleme und es funktioniert auf Anhieb. Kann es an den FDConnectionDefs.ini oder ähnliches liegen? Kann mir jemand auf die Sprünge helfen? |
AW: DB-Verbindung mit Interbase
Auf welchem Rechner läuft der Datenbankserver?
Wie erfolgt der Zugriff? |
AW: DB-Verbindung mit Interbase
Connection String? :wink:
|
AW: DB-Verbindung mit Interbase
Der Datenbankserver läuft auf dem gleichen Rechner und Zugriff erfolgt local.
|
AW: DB-Verbindung mit Interbase
Port? Firewall? :wink:
localhost oder 127.0.0.0? PS: Immer in der Entwicklung die Servervariante benutzen und kein Embedded! |
AW: DB-Verbindung mit Interbase
Auszug aus der FDConnection.ini nur die IB-Zugriffe:
[FDConnectionDefs.ini] Encoding=UTF8 [ibTest] Database=C:\Users\Public\Documents\Embarcadero\Stu dio\19.0\Samples\Data\EMPLOYEE.GDB User_Name=SYSDBA Password=masterkey DriverID=IB2017 [IB_Employee] Database=C:\data\interbase\employee.gdb User_Name=SYSDBA Password=masterkey DriverID=IB2017 [IB2020_T1] DriverID=IB Database=C:\data\interbase\dbdemos.gdb User_Name=SYSDBA Password=masterkey [DBDEMOS] Database=C:\Users\Public\Documents\Embarcadero\Stu dio\19.0\Samples\Data\dbdemos.gdb User_Name=SYSDBA Password=masterkey DriverID=IB Zugriff über localhost und auch mit 127.0.0.0 stets das gleiche Ergebnis |
AW: DB-Verbindung mit Interbase
FireBird und Interbase gleicher Port? 3050?
![]() Ja = Falsch. |
AW: DB-Verbindung mit Interbase
habe die Firewal raus genommen und wie haenschman gemailt hat 127.0.0.0 mit Interbase 2017. Bei Connectversuch erhalte ich nun folgende Fehlermeldung:
--------------------------- Fehler --------------------------- [FireDAC][Phys][IB]Unable to complete network request to host "127.0.0.0/3054". Failed to establish a connection. unknown Win32 error 10060. --------------------------- OK --------------------------- |
AW: DB-Verbindung mit Interbase
nimm mal statt 127.0.0.0 den Computernamen
|
AW: DB-Verbindung mit Interbase
FirDAC Verbindungseditor (IB_Employee) Treiber IB2017 Database ist employee.gdb eingestellt und Protokoll 127.0.0.0 Port 3050. Bei dem Versuch Testen erhalte ich erneut
unavilable databease. Wäre es möglich mir einfach zum Nachverfolgen eine Form mit einem DBGrid und den richtig eingestellten DataSource, TFDConnection und IbTabellen Einstellungen für die employee.gdb zu übermitteln? Dann könnte ich möglicherweise die jeweiligen Einstellungen bei mir mit den richtigen Werten vergleichen. |
AW: DB-Verbindung mit Interbase
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Zitat:
Probiers aus. Nachtrag: sollte gehen (Bild) |
AW: DB-Verbindung mit Interbase
Die Beschränkung auf lokalen Zugriff ist durch deine Delphi-Version (Professional) gegeben. Für den Zugriff auf eine xxterne Datenbank benötigst du mindestens die Enterprise-Version.
Grüße Mikhal |
AW: DB-Verbindung mit Interbase
eigentlich wollte ich so wie mit Firebird einfach so auch eine IB-Datenbankverbindung herstellen. Das war mein Ziel, doch vermutlich geht das wohl so nicht. Das ganze Server-Gesims
ist mir doch etwas zu überdimensioniert, obwohl ich zurückliegend sowohl MSSQL, Postgrade usw. auch schon hinbekommen habe, doch das ist en anderes Thema. Kann ich mit den von mir in Post #1 genannten Licensen einfach so eine IB-Datenbank genau wie mit FB einbinden? |
AW: DB-Verbindung mit Interbase
Du hast drei verschiedene IB-Server auf deinem Rechner, finde erst mal raus, auf welchem Port die horchen. Port 3050 ist der Standard-Port für Firebird und IB.
Ich denke, dass du mit Port 3050 den Server erreichst, auf dem deine Datenbank nicht gehostet wird. Grüße Mikhal |
AW: DB-Verbindung mit Interbase
mit der neuen Einstellung Protokol ipLocal, Port 3051 und meinem Servernamen W10-NW erhalte ich nun eine connection in der Einstellung von TFDConnection. Also sollte ich nun eine
Verbindung zu meimem localen Server haben - oder? Auch kann ich jetzt den Tabellennamen zuordnen und TFDTabelle auch active=true schalten. Doch im DBGrid tut sich nichts und beim compilieren erhalte ich folgende Fehlermeldung: --------------------------- Anwendungsfehler --------------------------- Exception EFDException in Modul pTest1.exe bei 00000000003AB37C. [FireDAC][Phys][IB]-314. Laden der Herstellerbibliothek [c:\users\public\documents\embarcadero\interbase\re dist\interbase2017\win32\gds32.dll] nicht möglich. Library has unsupported architecture [x86]. Required [x64]. Hinweis: Überprüfen Sie, ob sie sich im PATH oder in Anwendungs-EXE-Verzeichnissen befindet und eine Bitanzahl von x64 hat. --------------------------- OK --------------------------- Das Programm wird mit 32 bit Windows compiliert. Vermutlich läuft aber ein 64 bit Server ich werde das mal prüfen. |
AW: DB-Verbindung mit Interbase
Zitat:
Wenn du das Programm compilierst: DB Server 64Bit 32bit -> 32bit DLL 64bit -> 64bit DLL |
AW: DB-Verbindung mit Interbase
Zitat:
mfg Hannes |
AW: DB-Verbindung mit Interbase
|
AW: DB-Verbindung mit Interbase
Zitat:
Klassiker: ![]() |
AW: DB-Verbindung mit Interbase
also es lief der 64bit-Server. wurde gestoppt und 32bit-Server gestartet. Danach war in Delphi wieder alles futsch - sprich der Zugriff auf die Datenbank über Port 3051 funktioniert nicht mehr.
es wird mir mitgeteilt, dass keine Verbindung hergestellt werden konnte, da der Zielcomputer die Verbindung verweigert. Firwall ist noch immer ausgeschaltet und Versuche mit Port 3050, 3051, 3052..54 funktionieren nicht. Wie kann ich den Zugang zum "Zielcomputer" gewähren? Kann ich irgendwo einen Port freigeben? |
AW: DB-Verbindung mit Interbase
Schau mal in den unteren Bereich des folgenden Links, da findest du etwas zum IBGuard Man sollte richtig lesen...
Schau dir mal den Interbase Server Manager an: ![]() Dort gibt es einen Button "Server Properties". Ich denke, da findest du dann auch den richtigen Port. Grüße Mikhal |
AW: DB-Verbindung mit Interbase
ich will mal ganz vorsichtig vermelden, dass es geklappt hat und ich die database employee.gdb von IB im DBGrid zum Laufen gebracht habe.
Manchmal hilft ein Rechnerneustart doch und somit ging es mit dem Port 3051, um auf den localen Server zuzugreifen. Komisch ist jedoch, dass im Hintergrund der IBServer 64bit ! läuft?! Jedenfalls geht es. Der 64bit Server wird automatisch mit Windowsstart ausgeführt. Wenn ich den 32bit Server manuell aufrufe geht es nicht. Sicher bleiben da noch einige Hügel des Begreifens stehen. Ich bin erst einmal froh nach so langer Zeit des Probierens das Ding zum Laufen gebracht zu haben. Unklar ist mir jedoch noch immer, was könnte ich denn mit der IBLite XE7 license anfangen? Was müßte ich tun, damit ich eine IB-Database genauso wie mit Firebird-Database ohne Server in Delphi einzubinden könnte. Wären da neue Lizenzen erforderlich? Jedenfalls bedanke ich mich bei Euch für die Unterstützung und wäre für die Beantwortung der kurzen Fragen dankbar. |
AW: DB-Verbindung mit Interbase
Dann schau dir mal die Embarcadero-Seite zu den Interbase-Versionen an:
![]() Grüße Mikhal |
AW: DB-Verbindung mit Interbase
Danke Mikhal, ich denke auch das habe ich hinbekommen. Habe dazu ein youtube-Video genutzt. Eigentlich ganz simpel, wenn man einmal die Lösung gefunden hat.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:16 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