Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Zugriff auf ein Firebird-Server 2.5 wird verweigert (https://www.delphipraxis.net/179804-zugriff-auf-ein-firebird-server-2-5-wird-verweigert.html)

Chemiker 2. Apr 2014 21:39

Datenbank: Firebird Classic • Version: 2.5 • Zugriff über: Fibplus

Zugriff auf ein Firebird-Server 2.5 wird verweigert
 
Hallo,
hier läuft ein MS Server 2003 darauf ist ein Firebird-Server 2.5 als Service installiert. Ich kann von meinem PC remote auf den MS Server zugreifen, allerdings gelingt es mir nicht eine Verbindung zum Firebird-Server aufzubauen. Der FB-Service läuft.

Der Port vom FB-Server ist in der Firewall freigeben, ich habe auch die Firewall komplett deaktiviert, bis jetzt ohne Erfolg.
Es ist eine Datenbank von einem Firebird-Server 2.1 die mit Restore auf den MS Server kopiert worden ist.

Auf einen andern MS Server kann ich auf die gleiche DB nach einem Restore, ohne Probleme zugreifen.

Ich vermute dass es irgendwie an der Einstellung vom MS-Server liegen könnte, aber ich bräuchte mal so ein paar Ideen wo ich den Fehler suchen sollte.

Bis bald Chemiker

sx2008 2. Apr 2014 22:08

AW: Zugriff auf ein Firebird-Server 2.5 wird verweigert
 
Teste doch einfach in einer Eingabeaufforderung ob der Firebird Server über TCP erreichbar ist:
Code:
C:\> telnet xxx.xxx.xxx.xxx 3050
xxx.xxx.xxx.xxx ist die IP-Adresse des Servers.
Falls der telnet Befehl auf deinem Windows unbekannt ist kannst du den Telnet-Client von Windows nachinstallieren.
http://praxistipps.chip.de/telnet-cl...ktivieren_3601

tsteinmaurer 2. Apr 2014 22:47

AW: Zugriff auf ein Firebird-Server 2.5 wird verweigert
 
Eine Fehlermeldung könnte eventuell weiterhelfen ...

Lemmy 3. Apr 2014 05:43

AW: Zugriff auf ein Firebird-Server 2.5 wird verweigert
 
Guten Morgen,

funktioniert lokal auf dem Server der Zugriff (via isql)? Läuft der Dienst (Firebird und Guardian) unter dem systemkonto?

Grüße

Nersgatt 3. Apr 2014 06:07

AW: Zugriff auf ein Firebird-Server 2.5 wird verweigert
 
Und liegt die Datenbankdatei auf einem lokalen Laufwerk (und NICHT auf einer Netzwerkfreigabe)?

Chemiker 6. Apr 2014 11:35

AW: Zugriff auf ein Firebird-Server 2.5 wird verweigert
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo zusammen,

@ Lemmy: Der FB-Server läuft: Mit isql kann ich mir lokal z.B. die Tabellen der Datenbank ausgeben lassen.

@ SX2008: Mit telnet versucht allerdings kommt keine Rückantwort keine Positive als auch negative.

@tsteinmaurer: Ich habe mal eine Fehlermeldung von FlameRobin angehängt.

@Nersgatt: Der MS Server besteht aus einer c:\ Partition(System Festplatte) und eine d:\ Partition wo die Datenbank-Datei abgelegt ist. Muss die Datenbank-Datei überhaut eine Netzwerkfreigabe haben?

Bis bald Chemiker

Nersgatt 7. Apr 2014 06:41

AW: Zugriff auf ein Firebird-Server 2.5 wird verweigert
 
Zitat:

Zitat von Chemiker (Beitrag 1254805)
und eine d:\ Partition wo die Datenbank-Datei abgelegt ist. Muss die Datenbank-Datei überhaut eine Netzwerkfreigabe haben?

Nein, sie muss keine Freigabe haben.
Aber es ist ein oft gesehener Fehler, dass die Datenbankdatei freigegeben wird und dann bei der Verbindung sowas wie SERVERNAME:\\SERVERNAME\Pfad\DB.fdb angegeben wird. Und genau das wäre falsch. Richtig wäre SERVERNAME:d:\Pfad\DB.fdb (angenommen, die DB liegt aus Sicht des Server in eben diesem Pfad).
Was auch nicht geht, ist, wenn die DB auf einem anderen Server als der Firebirddienst liegt und freigegeben wird. Sowas hab ich schon öfter gesehen: SERVERNAME:\\ANDERERSERVER\Pfad\db.fdb
Wie gesagt, das ginge auch nicht, die Datenbankdatei muss auf einem lokalen Laufwerk des Rechners liegen, auf dem auch der Dienst läuft.

Das scheint ja bei Dir der Fall zu sein, also das wird nicht der Fehler sein.

Aufgrund der Tatsache, dass bei Telnet keine Rückmeldung kommt und aufgrund der angehängten Fehlermeldung tippe ich drauf, dass der Port doch nicht freigegeben ist. Vielleicht läuft noch irgend ein Virenscanner, o.Ä. der den Zugriff auf den Port verhindert?


Verwendest Du den Standardport? Versuch doch mal testweise, den Port zu ändern (da gibt es einen Eintrag in der Firebird.conf im Programmverzeichnis von Firebird). Danach den Dienst neu starten und die Firewall entsprechend konfigurieren.
Die Verbindung muss dann in der Form SERVERNAME/Port:d:\Pfad\db.fdb erfolgen, also mit Portangabe.

Perlsau 7. Apr 2014 07:11

AW: Zugriff auf ein Firebird-Server 2.5 wird verweigert
 
Möglicherweise könnte man das Problem damit umgehen, für die Datenbank ein Alias zu vergeben: Einfach in aliases.conf (liegt im Firebird-Programmordner) einen Eintrag wie den folgenden reinschreiben: ADRES = E:\Datenbanken\ADRESSEN.FDB

Danach genügt es, das Alias statt des vollständigen Dateinamens anzugeben. So konnte ich in der Vergangenheit ähnliche Probleme mit nicht-lokalen FB-Connections umgehen. Im Property DBName der TpFIBDatabase-Komponente steht dann statt des Pfades einfach nur ADRES drinnen, das Property AliasName kann leer bleiben. Damit findet der FB-Server die gewünschte Datenbank-Datei selbst. Probieren geht über studieren :stupid:

user0815 7. Apr 2014 09:16

AW: Zugriff auf ein Firebird-Server 2.5 wird verweigert
 
Erstmal musst Du eine Verbindung bekommen, also so wie @SX2008 geschrieben hat:
Code:
C:\> telnet xxx.xxx.xxx.xxx 3050
siehe auch: http://kb.acronis.com/content/7503

Ergebnis: "If the port is open, you will see a blank screen. This will mean that connection is successful."

Chemiker 7. Apr 2014 11:37

AW: Zugriff auf ein Firebird-Server 2.5 wird verweigert
 
Hallo,

@Nersgatt: die Angaben vom Path und vom Servername sollten eigentlich richtig sein. Wie geschrieben habe ich die Firewall komplett abgestellt und trotzdem keine Verbindung bekommen. Ob ein Virenscanner läuft kann ich jetzt nicht sagen, werde am Donnerstag wieder vor Ort sein und dies mal prüfen. Ich habe bis jetzt immer der Port 3050 verwendet.

@Perlsau: Ich wollte eigentlich nur den Server wechseln und dabei direkt auf einen neuen Firebird-Server 2.5 updaten. Das Programm sollte erst mal unverändert bleiben, bis die neue Version bis Ende des Jahres fertig ist.

@user0815: dann scheint es eine Verbindung mit dem Server zu geben, denn der Eingabeaufforderung-Bildschirm ist leer geblieben.

Bis bald Chemiker

mkinzler 7. Apr 2014 11:44

AW: Zugriff auf ein Firebird-Server 2.5 wird verweigert
 
Welche Client-Dll wird verwendet? U.U. falsche Version? Gds32.dll?

Chemiker 7. Apr 2014 12:06

AW: Zugriff auf ein Firebird-Server 2.5 wird verweigert
 
Hallo,

es wird die Client-Dll vom Firebird-Server 2.5 verwendet.

Bis blad Chemiker

Nersgatt 7. Apr 2014 12:15

AW: Zugriff auf ein Firebird-Server 2.5 wird verweigert
 
Zitat:

Zitat von Chemiker (Beitrag 1254897)
@Perlsau: Ich wollte eigentlich nur den Server wechseln und dabei direkt auf einen neuen Firebird-Server 2.5 updaten. Das Programm sollte erst mal unverändert bleiben, bis die neue Version bis Ende des Jahres fertig ist.

Ein Backup/Restore hast Du mit der Datenbankdatei aber gemacht, oder? Dies ist nötig, da sich die Dateistruktur (= ODS im Firebirdjargon) der Datenbanken geändert hat. Beim Restore mit der aktuellen Version wird so die Dateistruktur entsprechend angepasst.
Welches war denn die vorherige Firebirdversion?

mkinzler 7. Apr 2014 12:17

AW: Zugriff auf ein Firebird-Server 2.5 wird verweigert
 
Wobei eine neuerer Server problemlos mit alten ODS-Versionen umgehen können sollte. Ausserdem sollte dann die Verbindung mit dem Server funktionieren. Besser ist es natürlich beim Update des Servers auch die Datenbanken auf die ODS umzustellen, um alle Features des neuen Servers nutzen zu können.

Nersgatt 7. Apr 2014 12:21

AW: Zugriff auf ein Firebird-Server 2.5 wird verweigert
 
Zitat:

Zitat von mkinzler (Beitrag 1254912)
Wobei eine neuerer Server problemlos mit alten ODS-Versionen umgehen können sollte.

Achtung, Halbwissen. Mir schwirrt irgendwie im Hinterkopf rum, dass der 2.5er nicht mehr mit Datenbanken der 1x-Versionen arbeiten kann. An der Stelle bin ich aber nicht sicher.

user0815 7. Apr 2014 12:55

AW: Zugriff auf ein Firebird-Server 2.5 wird verweigert
 
In der Fehlermeldung #6 steht was von : "IBPP::SQLExcetion" dazu gefunden: http://sourceforge.net/projects/ibpp/

Bei UniDac kann/muss man die benutzte Firebird DLL im Datenmodul einbinden (k.a. ob das mit FIBPlus geht):

Delphi-Quellcode:
UniConnection.SpecificOptions.Values['ClientLibrary'] := Pfad + 'fbclient.dll';

Chemiker 7. Apr 2014 14:28

AW: Zugriff auf ein Firebird-Server 2.5 wird verweigert
 
Hallo,

@Nersgatt: Die DB-Datei ist von einem Firebird-Server Version 2.1.

Backup mit GBAK von der Server-Version 2.1
Restore mit GBAK von der Server-Version 2.5

Die DB-Datei funktioniert ja lokal mit ISQL ohne Probleme.

@user0815: Die Fehlermeldung stammt vom Admintool FlameRobin. Ich habe weder Zugriff mit meinem Programm noch bekomme ich einen Zugang mit FlameRobin.
Der Path der DB-Datei, der Servername, der Path der fbclient.dll wird in meinem Programm einmalig in einer INI-Datei abgelegt.

Wenn ich auf den „alten Server“ umstelle habe ich mit beiden Programmen Zugriff auf die DB-Datei. Dies funktioniert sogar mit der fbclient.dll von der Server-Version 2.5.

Ich bin immer noch der Meinung, dass der MS Server 2003 R2 den Zugriff blockiert, warum auch immer.

Bis bald Chemiker

Blup 7. Apr 2014 15:25

AW: Zugriff auf ein Firebird-Server 2.5 wird verweigert
 
Mir sind von unseren Kunden keine speziellen Probleme mit MS-Servern ab 2003 und Interbase oder Firebird bekannt, egal ob 32- oder 64-Bit.
Zitat:

Zitat von Chemiker (Beitrag 1254931)
Die DB-Datei funktioniert ja lokal mit ISQL ohne Probleme.

Die Fehlermeldung bezieht sich auch nicht auf die Datenbankdatei, sondern auf den Server an sich.
Ändere die Verbindungseinstellungen lokal auf dem Server erst einmal auf Netzwerkzugriff.
"SERVERNAME/Port:d:\Pfad\db.fdb"
Ist dann die Verbindung auf die Datenbank immer noch möglich?

Wenn nein, ist der Port nicht richtig freigegeben oder wird von einem anderen Dienst verwendet.

Chemiker 7. Apr 2014 15:43

AW: Zugriff auf ein Firebird-Server 2.5 wird verweigert
 
Hallo,

@Blup: Du meinst unter ISQL mit dem Servername + Port auf die DB-Datei zugreifen?
Das müsste dann so aussehen: SQL>CONNECT [Servername]/[Port-Nr.]: d:\[Path\DB_Datei];

Das werde ich am Donnerstag mal versuchen.

Bis bald Chemiker

Achim Kalwa 8. Apr 2014 10:38

AW: Zugriff auf ein Firebird-Server 2.5 wird verweigert
 
Hallo,

läuft auf dem betroffenen Server evtl. ein DNS-Dienst? Auch wenn es sich lächerlich anhört: DNS-Dienst beenden; Firebird-Dienst beenden; Firebird-Dienst starten; DNS-Dienst starten (Reihenfolge beachten).

Ich hatte schon bei mehreren Kunden ein ähnliches Problem mit Windows Server 2003 und dem dort laufenden DNS-Dienst. Der greift sich manchmal Ports, die ihm nicht gehören.

Weiter Infos dazu:
http://support.microsoft.com/kb/956188

HTH
Achim

Chemiker 9. Apr 2014 19:28

AW: Zugriff auf ein Firebird-Server 2.5 wird verweigert
 
Hallo,

ich habe jetzt nochmal einige Sachen ausprobiert unter anderem habe ich statt den Servername mal die IP-Adresse als Servername eingegeben, durch diese Änderung habe ich jetzt auf die Datenbank-Datei zugreifen können.

Vielleicht kennt jemand den Grund, warum man den Server nur mit der IP – Adresse und nicht mit dem Computername ansprechen kann.

Übrigens läuft auf den Server McAfee als Virenscanner.

Was ich auch noch nicht verstehe ist, dass ich von einem Client-PC nicht 2 x mal auf die gleiche Datenbank-Datei zugreifen kann. Wenn ich die DB-Datei mit FlameRobin geöffnet habe und auf den gleichen PC mit einem Test-Programm auf die DB-Datei zugreife, so wird das mit einer Fehlermeldung quittiert das der Server nicht läuft.

Bis bald Chemiker

mkinzler 10. Apr 2014 06:38

AW: Zugriff auf ein Firebird-Server 2.5 wird verweigert
 
Zitat:

Vielleicht kennt jemand den Grund, warum man den Server nur mit der IP – Adresse und nicht mit dem Computername ansprechen kann.
Scheint sich um ein Problem mit der Namensauflösung zu handeln.

Zitat:

Was ich auch noch nicht verstehe ist, dass ich von einem Client-PC nicht 2 x mal auf die gleiche Datenbank-Datei zugreifen kann. Wenn ich die DB-Datei mit FlameRobin geöffnet habe und auf den gleichen PC mit einem Test-Programm auf die DB-Datei zugreife, so wird das mit einer Fehlermeldung quittiert das der Server nicht läuft.
Eigentlich kann man beliebig viele Verbindungen auf eine Datenbank öffnen. Verwendet FlameRobin fälschlicherweise eine alte embedded Server Dll?

Chemiker 10. Apr 2014 21:19

AW: Zugriff auf ein Firebird-Server 2.5 wird verweigert
 
Hallo,

Zitat:

Scheint sich um ein Problem mit der Namensauflösung zu handeln.
Wie kann man das beheben?

Ob eine Embedded DLL von FlameRobin verwendet wird kann ich nicht sagen, weil ich keine Client-DLL explizit angeben musste.

Schau ich mir am Montag mal an.

Bis bald Chemiker

hoika 12. Apr 2014 06:43

AW: Zugriff auf ein Firebird-Server 2.5 wird verweigert
 
Hallo,

kommst du mit 2 isql parallel auf den Server?
Wenn nicht, hast du entweder irgendwo die embedded fbclient im Zugriff,
oder die DB ist im Wartungsmodus.

Zum Test des Wartungsmodus die DB auf einen anderen Rechner kopieren
und dort mit 2 isql zugreifen.


Heiko

Chemiker 16. Dez 2014 20:05

AW: Zugriff auf ein Firebird-Server 2.5 wird verweigert
 
Hallo zusammen,

ich will diesen älteren Beitrag nochmal hervorholen, weil es immer noch keine Lösung dafür gibt.


• Backup mit GBak von der Firebird Server-Version 2.1
• Restore mit Gback von der Firebird Server-Version 2.5

Der Zugriff ist einmal möglich: z.B. FlameRobin starten auf die DB kann zugegriffen werden.
Wird eine weitere Instanz FlameRobin gestartet, so kann mit dieser Version nicht auf die DB zugegriffen werden und die weiter oben beschriebene Fehlermeldung wird ausgegeben.

Wenn ich die Beispiel Datenbank von Firebird (employee.fdb) in den gleichen Path kopieren, kann ich ohne Probleme mit 2 FlameRobin Instanzen auf die Beispiel – DB von Firebird zugreifen.

Wenn die gleiche DB auf meinem 2003 –Server Zuhause Restore kann man ohne Probleme mit 2 oder mehr Instanzen darauf zugreifen (Firebird – Version 2.5).

Bis bald Chemiker

mkinzler 16. Dez 2014 20:29

AW: Zugriff auf ein Firebird-Server 2.5 wird verweigert
 
U.U. greifst Du mit einer embedded Variante zu. Wie sieht der Connection string aus?

Chemiker 16. Dez 2014 20:42

AW: Zugriff auf ein Firebird-Server 2.5 wird verweigert
 
Hallo mkinzler,

aber, warum kann ich auf die „employee.fdb“ ohne Probleme mit 2 Instanzen zugreifen? Das dürfte doch dann auch nicht funktionieren, oder?

Bis bald Chemiker

mkinzler 16. Dez 2014 20:48

AW: Zugriff auf ein Firebird-Server 2.5 wird verweigert
 
Wie sieht den der connection string aus? Welches Protokoll?

Chemiker 16. Dez 2014 21:22

AW: Zugriff auf ein Firebird-Server 2.5 wird verweigert
 
Hallo mkinzler,

der Connection – String sollte ja in Ordnung sein, weil 1 Verbindung ja zustande kommt.
Protokoll ist: TCP

Bis bald Chemiker

mkinzler 16. Dez 2014 21:35

AW: Zugriff auf ein Firebird-Server 2.5 wird verweigert
 
Wenn das local Protokoll (Server leer) mit einer embedded Server Dll ( < 2.5) verwendet wird, funktioniert die 1. Verbindung auch, nur die 2. dann nicht mehr. Deshalb meine Frage.

Chemiker 16. Dez 2014 21:45

AW: Zugriff auf ein Firebird-Server 2.5 wird verweigert
 
Hallo mkinzler,

ist das denn Datenbank abhängig, weil es mit der „employee.fdb“ keine Schwierigkeit gibt.

Bis bald Chemiker

tsteinmaurer 16. Dez 2014 21:48

AW: Zugriff auf ein Firebird-Server 2.5 wird verweigert
 
Damit wir nicht alle Beiträge durchwühlen müssen, wie lautet die Fehlermeldung? Hast Du TeamViewer?

Chemiker 16. Dez 2014 22:10

AW: Zugriff auf ein Firebird-Server 2.5 wird verweigert
 
Hallo tsteinmaurer,

mit TeamViewer darf ich nicht auf den Server zugreifen. Die Fehlermeldung kann ich morgen nachreichen.

Bis bald Chemiker

Neumann 16. Dez 2014 22:57

AW: Zugriff auf ein Firebird-Server 2.5 wird verweigert
 
Die Datenbank könnte einen Defekt haben; sowas habe ich auch schon erlebt.

Mit Gfix reparieren, dann nochmal Backup und Restore.

Für ganz schlimme Fälle habe ich mir ein Tool gebaut, was die Tabelleninhalte einzelnd in eine Datenbank gleicher Struktur kopiert und die Generatoren setzt.

Chemiker 16. Dez 2014 23:15

AW: Zugriff auf ein Firebird-Server 2.5 wird verweigert
 
Hallo Neumann,

kann eigentlich nicht sein, weil die gleiche DB nach Restore auf den Sever zu Hause ohne Probleme läuft. Und eine einzelne Verbindung kommt ja auch zustande.

Bis bald Chemiker

Neumann 16. Dez 2014 23:29

AW: Zugriff auf ein Firebird-Server 2.5 wird verweigert
 
Könnte doch sein. Habe schon Datenbanken von Kunden gehabt, die auch nur eine Verbindung zuließen. Was da genau passiert ist kann ich nicht sagen, die beschriebene Vorgehensweise hilft aber in der Regel.

Chemiker 16. Dez 2014 23:45

AW: Zugriff auf ein Firebird-Server 2.5 wird verweigert
 
Hallo Neumann,

gut, werde ich morgen auch mal testen.

Bis bald Chemiker

Chemiker 18. Dez 2014 20:45

AW: Zugriff auf ein Firebird-Server 2.5 wird verweigert
 
Hallo,

es scheint jetzt alles zu funktionieren.

Ich habe über Nacht nochmal ein BackUp von der DB von Firebird 2.0 gezogen und heute Morgen mit Restore die DB auf den Firebird 2.5 wieder hergestellt.

Danach funktionierte der Zugriff ohne Probleme. Allerdings die Ursache warum es zuvor nicht funktioniert hat bleibt damit leider auch im Dunkeln.

Ich danke allen für die Hilfe.

Bis bald Chemiker


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