AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Neu Firebird Datenbank wird auf Server nicht angelegt

Neu Firebird Datenbank wird auf Server nicht angelegt

Ein Thema von Chemiker · begonnen am 30. Apr 2020 · letzter Beitrag vom 3. Mai 2020
Antwort Antwort
Seite 2 von 2     12
Delphi.Narium

Registriert seit: 27. Nov 2017
1.239 Beiträge
 
Delphi 7 Professional
 
#11

AW: Neu Firebird Datenbank wird auf Server nicht angelegt

  Alt 2. Mai 2020, 18:31
Die Datenbank wird mit:

DB.database := '\\XXXDATENSERVER\d:\db\EO_Liste\HPLPRG2020.FDB'; angelegt.
Das dürfte auch ein gültiger Dateiname sein.
Die Datenbank wird mit:
Mit:
DB.database := 'XXXDATENSERVER:d:\db\EO_Liste\HPLPRG2020.FDB'; wird sie nicht angelegt.
Diese jedoch nicht.

Für mich sieht das so aus, als könnte bei Deiner Konstellation der Firebird-Client nur auf die Datenbankdatei auf dem Server zugreifen und nicht den Firebird-Server auf dem Datenbankserver ansprechen. Es wird also, obwohl die Datenbankdatei auf einem Server liegt, die Embedded-Variante von FireBird genutzt.

Grob formuliert:

Wenn Du Firebird auf dem Datenbankserver deinstallierst, müsste der Datenbankzugriff in der momentanen Konstellation noch weiterhin funktionieren (was vermutlich absolut nicht im Sinne des Erfinders ist).

Ok: Bin mir nicht so ganz sicher, kann also sein, dass ich gerade auch Murks geschrieben habe

Ist da was hilfreiches dabei? Working with databases

ab ca. You can force Firebird to use a certain protocol (and skip the embedded connection attempt) by prepending the protocol in URL style:
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.833 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#12

AW: Neu Firebird Datenbank wird auf Server nicht angelegt

  Alt 2. Mai 2020, 20:10
Hallo,

@Lemmy: Bei mir ist IPv4 bei Windows 10 auch installiert.

@Delphi.Natrium: Die Datenbank – Datei wird auf den Server angelegt.

Ich lege auch eine Tabelle an und kann diese dann von einem anderen Rechner aufrufen:
Delphi-Quellcode:
const
SQL_TABELLE = 'CREATE TABLE maschinentab (ma_id integer, ma_bez VARCHAR(100))';

begin
  SQL1:= SQL_TABELLE;
  SQL_Memo.Lines.Add(SQL1);
  IBCQuery1.SQL.Text := SQL_Memo.Lines[1];
  IBCQuery1.ExecSQL;
  IBCConnection1.Connected := FALSE;
End;


Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.229 Beiträge
 
Delphi 10.3 Rio
 
#13

AW: Neu Firebird Datenbank wird auf Server nicht angelegt

  Alt 2. Mai 2020, 22:57
Hallo,

@Lemmy: Bei mir ist IPv4 bei Windows 10 auch installiert.
ja, ist bei vielen installiert. Gibt der DNS aber für den Computernamen halt die IPv6 zurück und nicht die IPv4 geht bei Firebird halt nix
Wir haben div. Kunden bei denen wir sogar IPv6 abschalten mussten, damit sich Firebird 2.1 verbinden ließ....
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
1.239 Beiträge
 
Delphi 7 Professional
 
#14

AW: Neu Firebird Datenbank wird auf Server nicht angelegt

  Alt 3. Mai 2020, 08:58
@Delphi.Natrium: Die Datenbank – Datei wird auf den Server angelegt.

Ich lege auch eine Tabelle an und kann diese dann von einem anderen Rechner aufrufen:
Delphi-Quellcode:
const
SQL_TABELLE = 'CREATE TABLE maschinentab (ma_id integer, ma_bez VARCHAR(100))';

begin
  SQL1:= SQL_TABELLE;
  SQL_Memo.Lines.Add(SQL1);
  IBCQuery1.SQL.Text := SQL_Memo.Lines[1];
  IBCQuery1.ExecSQL;
  IBCConnection1.Connected := FALSE;
End;
Das es geht, hab' ich durchaus verstanden, die Frage ist nur, ob dazu der FireBird-Dienst auf dem Server genutzt wird oder der Client die Embeddedversion von FireBird nutzt.

Sprich: Klappt es auch noch, wenn Du den FireBird-Dienst auf dem Server mal stoppst?

Für mich sieht es so aus, als würde die FireBird-Datenbankdatei "nur" auf 'nem Fileserver liegen.

Für das Programm ist dies transparent, da merkst Du (für gewöhnlich) nicht, welche Version genutzt wird.

Die Frage ist letztlich nicht, ob es funktioniert, sondern auf welchem Weg es funktioniert.

Eventuell kannst Du ja mal einen Test machen:

In eine Tabelle sehr viele Daten einfügen, dann ein sehr komplexes SQL auf diese Daten ausführen, so dass mit einer längeren Laufzeit zu rechnen ist.

Auf welchem Rechner kannst Du dann im Taskmanager eine Änderung in der CPU-Last sehen?
Ändern sich dabei auf dem Server die Werte für E/A-Bytes (Lesen) bzw. E/A-Bytes (Schreiben) des FireBird.exe-Prozesses?

Wenn nein, wird vom Client die Embedded-Version genutzt.
  Mit Zitat antworten Zitat
tsteinmaurer

Registriert seit: 8. Sep 2008
Ort: Linz, Österreich
527 Beiträge
 
#15

AW: Neu Firebird Datenbank wird auf Server nicht angelegt

  Alt 3. Mai 2020, 09:15
Hallo Walter,

wenn du folgendes machst:
Delphi-Quellcode:
...
DB.Port := '3055';
// Mit diesem Aufruf wird die Datenbank nicht angelegt
DB.database := 'XXXDATENSERVER:d:\db\EO_Liste\HPLPRG2020.FDB';
...
könnte es gut sein, dass die Zuweisung der DB.database Property im Hintergrund ein Parsing des zugewiesenen Connect-Strings auslöst, was eventuell bedeutet, dass DB.Port wieder auf 3050 zurückgesetzt wird.

Versuch mal folgenden Connect-String
DB.database := 'XXXDATENSERVER/3055:d:\db\EO_Liste\HPLPRG2020.FDB'; oder alternativ das DB.Port Property nach dem Connect-String zugewiesen wird.

Delphi-Quellcode:
...
// Mit diesem Aufruf wird die Datenbank nicht angelegt
DB.database := 'XXXDATENSERVER:d:\db\EO_Liste\HPLPRG2020.FDB';
DB.Port := '3055';
...
LG
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.833 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#16

AW: Neu Firebird Datenbank wird auf Server nicht angelegt

  Alt 3. Mai 2020, 09:53
Hallo Delphi.Narium,

mit <instsvc stop> den Firebird – Dienst gestoppt, anschließend kein Zugriff auf die Datenbank mehr möglich. Eine neue Datenbank kann auch nicht mehr angelegt werden.

Ich habe auf dem Server eine andere Datenbank genommen die Datensätze zählt. Die CPU – Last (22 -41%) und die E/A – Bytes lesen steigt auf den höchsten Wert in der Liste. Er hat jetzt 220 Millionen Datensätze gezählt. Die E/A Bytes sind auf ca. 9,8 Millionen angestiegen.

Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
1.239 Beiträge
 
Delphi 7 Professional
 
#17

AW: Neu Firebird Datenbank wird auf Server nicht angelegt

  Alt 3. Mai 2020, 10:13
Ok, damit hat sich meine Befürchtung, dass der Client die Embeddedversion von FireBird nutzt, nicht bestätigt.
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.833 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#18

AW: Neu Firebird Datenbank wird auf Server nicht angelegt

  Alt 3. Mai 2020, 11:11
Hallo Thomas,

ich habe alle 3 Möglichkeiten ausprobiert:

1.) Port vorher einstellen:

Delphi-Quellcode:
DB.Port := 3055;
DB.database := 'XXXDATENSERVER:d:\db\EO_Liste\HPLPRG2020.FDB';
2.) Port nachher einstellen:

Delphi-Quellcode:
DB.database := 'XXXDATENSERVER:d:\db\EO_Liste\HPLPRG2020.FDB';
DB.Port := 3055;
3.) Port direkt eingeben:
DB.database := 'XXXDATENSERVER/3055:d:\db\EO_Liste\HPLPRG2020.FDB'; Die Datenbank wird nicht angelegt.

Es kommt zur folgenden Fehlermeldung:
Miniaturansicht angehängter Grafiken
host3055fehlermeldung.png  
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
tsteinmaurer

Registriert seit: 8. Sep 2008
Ort: Linz, Österreich
527 Beiträge
 
#19

AW: Neu Firebird Datenbank wird auf Server nicht angelegt

  Alt 3. Mai 2020, 11:51
Hallo Walter,

und du bist dir sicher, dass:
  • Auf Port 3055 ein Firebird Server läuft?
  • Port 3055 nicht durch eine Firewall geblockt wird?
  • Und die Remote Maschine via DNS erreichbar ist?

Dass deine Client-Anwendung eine Firebird Client-Library lädt, hast du glaub ich vorher schon mal wo bestätigt, richtig?

Weil deine aktuelle Fehlermeldung ist mittlerweile eine andere, als in deinem Ursprungsposting.

LG
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.833 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#20

AW: Neu Firebird Datenbank wird auf Server nicht angelegt

  Alt 3. Mai 2020, 18:11
Hallo Thomas,

ich hatte nur den Port für Testzwecke auf 3055 eingestellt. Was ich noch sagen kann, es gelingt mir zwar unter Port 3055 die Datenbank – Datei mit dem NetBEUI – Protokoll anzulegen. Es gelingt aber nicht eine neue Tabelle anzulegen, trotzdem bei den Komponenten auch der Port auf 3055 eigestellt worden ist.
Ich habe jetzt alle Veränderungen auf den Rechnern und auf Server wieder zurückgenommen.
Was mir noch aufgefallen ist, dass ich auf den beiden Windows 10 Rechner die Komponenten mit dem Source – Code installiert habe und auf den Vista – Rechner nicht.
Ich werde die IBDAC-Komponenten noch mal neu installieren.

Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:56 Uhr.
Powered by vBulletin® Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2020 by Daniel R. Wolf