Ich wollte die Desktop-Version von IB XE7 in meiner Entwicklungsumgebung verwenden, aber die Verbindung kann nicht funktionieren.Delphi 10.1 mit Interbase XE7 Desktop in der Rad Studio Entwicklungsumgebung verbinden
Die ursprüngliche App hatte eine vollständige Server-Version von IB verwendet und ich wollte nun die App auf einer kostengünstigeren Einzel-PC-Anwendung ausführen und wählte die IB Desktop-Version.
Das Rad Studio 10.1 Berlin läuft auf einer W7 64bit Virtual Machine. FireDac ist die Datenbankverbindungskomponente. IB XE7 Desktop ist der Datenbankserver auf dem Entwicklungs-PC.
Ziel für die Anwendung ist eine VM mit W7 32bit, mit einem anderen IB XE7 Desktop auf dieser VM.
Ich kann die 32-Bit-App erstellen und eine Verbindung zum IB XE7-Desktop auf dem Ziel-PC herstellen (W7 32bit in einer VM ausführen), nachdem das FireDac-Verbindungskomponenten-Protokollfeld auf 'local' anstelle von TCP/IP geändert wurde. etwas, was ich in Stack Overflow gelesen habe.
Woran ich nicht arbeiten kann, ist die Datenbankverbindung in der Entwicklungsumgebung.
Ich installierte zuerst die 64-Bit-Version von IB, dann entfernte es und versuchte die 32-Bit-Version mit dem gleichen Ergebnis.
Nachdem ich einige Verbindungsprobleme online gelesen habe, habe ich versucht, 'gds_db' und 'localhost/gds_db' in das Servernamenfeld zu setzen, aber es hat immer noch nicht funktioniert, obwohl es den Fehler geändert hat.
Fehler - mit nichts im Servernamen
[FireDAC] [Phys] [IB] nicht verfügbar Datenbank.
Fehler nach 'gds_db' im Servernamen
[FireDAC] [Phys] [IB] konnte nicht abgeschlossen Netzwerk Anfrage Gastgeber "gds_db" setzen.
Die Host-Maschine konnte nicht gefunden werden.
Der angegebene Name nicht in der Hosts-Datei oder Domain Name Services ..
Zuerst versuchte 64-Bit-IB installiert, dann alle gsd-Dateien entfernt fanden die Registry-Einträge und dann, und installiert die 32-Bit gefunden wurde Ausführung. Das Problem bestand immer noch.
Hinweis: Die Datenbank-Workbench 5 verbindet OK mit der Datenbank auf derselben VM.
Irgendwelche Ideen willkommen.
Danke.
James F.
Zwei Dinge: a) Sie müssen den tatsächlichen Instanznamen des Servers überprüfen. Iirc, die "abgesägten" Versionen von IB verwenden etwas anderes als gds_db. b) Suchen Sie in der 'services' Datei unter \ windows \ system32 \ drivers \ etc. Es sollte einen Eintrag wie "gds_db 3050/tcp # InterBase Server" enthalten, der die Server-Instanz benennt. – MartynA
Btw, Sie könnten versuchen, zu sehen, wenn Sie eine Verbindung mit den IBX-Komponenten erhalten können.Ich kann eine Verbindung zu einem lokalen IB XE7 Server herstellen, indem ich den Datenbanknamen der IBConnection auf 'LocalHost: D: \ Delphi \ Interbase \ Databases \ MA.GDB' setze. – MartynA
.GDB ist eine schlechte Dateinamenserweiterung beginnend mit winXP –