AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Firebird Parallelbetrieb

Firebird Parallelbetrieb

Ein Thema von haentschman · begonnen am 5. Jan 2012 · letzter Beitrag vom 5. Jan 2012
Antwort Antwort
Seite 1 von 2  1 2   
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.288 Beiträge
 
Delphi 12 Athens
 
#1

Firebird Parallelbetrieb

  Alt 5. Jan 2012, 17:09
Datenbank: Firebird • Version: 2.1 / 2.5 • Zugriff über: Zeos / IBDAC
Hallöle...

ich habe es dann mal geschafft 2 Firebird Instanzen parallel laufen zu lassen. Hintergrund ist, daß die alte Anwendung unter 2.1 mit Zeos läuft und die neue mit 2.5 und IBDAC laufen soll.

Beide Server habe unterschiedliche Ports 2.1/3050 2.5/3025. Soweit so gut. Wenn ich es richtig verstanden habe wird ohne Angabe des Ports im Verbindungsstring der Port 3050, also 2.1 verwendet. (passende DLL im Programmverzeichnis logisch) Mit Angabe des Ports 3025 wird dann 2.5 (mit der passenden DLL) verwendet. Oder ?

Frage: wie kann ich kontrollieren daß die neue Anwendung mit dem 2.5er kommunizert ?

Tante E... auf die einfachste Sache kommt man erst wenn man geschrieben hat. Einfach die entsprechenden Dienste anhalten... try/error

oder gibt es noch andere Varianten ?

Geändert von haentschman ( 5. Jan 2012 um 17:28 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.535 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Firebird Parallelbetrieb

  Alt 5. Jan 2012, 17:41
How to detect the server version?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.288 Beiträge
 
Delphi 12 Athens
 
#3

AW: Firebird Parallelbetrieb

  Alt 5. Jan 2012, 17:46
Danke... das hatte ich schon mal gelesen. Ist zu einfach.

Wenn wir schon dabei sind... wie bekommt man die ClientDLL Version raus ? Ich hatte schon mal gesucht, nix gefunden und aufgegeben...
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.535 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Firebird Parallelbetrieb

  Alt 5. Jan 2012, 17:58
Der ursprüngliche Code ist IIRC von tP, meinerseits nur modifiziert:
Delphi-Quellcode:
type
  TVersion = record
    dwHigh,
    dwLow: DWORD;
  end;

procedure GetFileVersion(const Filename: TFilename; out Version: TVersion);
var
  lpVerInfo: pointer;
  rVerValue: PVSFixedFileInfo;
  dwInfoSize: cardinal;
  dwValueSize: cardinal;
  dwDummy: cardinal;
  lpstrPath: pchar;
begin
  lpstrPath := PChar(Filename);
  dwInfoSize := GetFileVersionInfoSize(lpstrPath, dwDummy);
  if dwInfoSize = 0 then
    begin
      Version.dwHigh := 0;
      Version.dwLow := 0;
    end
  else
    begin
      GetMem(lpVerInfo, dwInfoSize);
      try
        GetFileVersionInfo(lpstrPath, 0, dwInfoSize, lpVerInfo);
        VerQueryValue(lpVerInfo, '\', pointer(rVerValue), dwValueSize);
        Version.dwHigh := rVerValue^.dwFileVersionMS;
        Version.dwLow := rVerValue^.dwFileVersionLS;
      finally
        FreeMem(lpVerInfo, dwInfoSize);
      end;
    end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  Version: TVersion;
begin
  //hartkodierter Dateiname kommt vom Testen
  GetFileVersion('C:\Windows\System32\fbclient.dll', Version);
  ShowMessage(Format('%d.%d.%d.%d', [Version.dwHigh shr 16,
    Version.dwHigh and $0000FFFF, Version.dwLow shr 16, Version.dwLow and $0000FFFF]));
end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
tsteinmaurer

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

AW: Firebird Parallelbetrieb

  Alt 5. Jan 2012, 18:37
Eigentlich spricht nichts gegen den Einsatz der 2.5er Client-DLL gegen einen 2.1er Server.
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.288 Beiträge
 
Delphi 12 Athens
 
#6

AW: Firebird Parallelbetrieb

  Alt 5. Jan 2012, 18:46
Danke für alle Info´s...
Zitat:
Eigentlich spricht nichts gegen den Einsatz der 2.5er Client-DLL gegen einen 2.1er Server.
...prinzipiell hast du Recht. Nur die eingesetzte Zeos Version kann maximal mit der 2.1.3 DLL mit der 2.1.4 DLL gibt es Fehler. Ich will aber in dem alten Projekt nix mehr ändern (neue Flöhe in den Pelz)

Nachtrag:

ich habe eben gemerkt, daß ich auch mit dem IBExpert mit der 2.1.4 ClientDLL keine Verbindung hinkriege. Mit der 2.1.3 geht das (Wenn ich in der Registrierung die DLL austausche)

Wieso kann die DLL nicht mit dem Server ? Sind doch von der gleichen Version / Installation

Fehler: Client Libary is missing or invalid

Geändert von haentschman ( 5. Jan 2012 um 19:40 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.288 Beiträge
 
Delphi 12 Athens
 
#7

AW: Firebird Parallelbetrieb

  Alt 5. Jan 2012, 21:15
Bitte nicht böse sein für den Push... ist mein erster

Aber es brennt eben unter den Nägeln. Diese Parallelität geht gar nicht...
firebird.log des 2.5 Auszug
Zitat:
FIRMA-SERVER Thu Jan 05 21:59:07 2012
XNET error: XNET server initialization failed. Probably another instance of server is already running.
operating system directive CreateMutex failed
Eine Datei kann nicht erstellt werden, wenn sie bereits vorhanden ist.


FIRMA-SERVER Thu Jan 05 21:59:57 2012
INET/inet_error: bind errno = 10048


FIRMA-SERVER Thu Jan 05 21:59:57 2012
Unable to complete network request to host "Firma-Server".
Error while listening for an incoming connection.


FIRMA-SERVER Thu Jan 05 22:06:46 2012
XNET error: XNET server initialization failed. Probably another instance of server is already running.
operating system directive CreateMutex failed
Eine Datei kann nicht erstellt werden, wenn sie bereits vorhanden ist.


FIRMA-SERVER Thu Jan 05 22:07:36 2012
INET/inet_error: bind errno = 10048


FIRMA-SERVER Thu Jan 05 22:07:36 2012
Unable to complete network request to host "Firma-Server".
Error while listening for an incoming connection.

Windows Firewall: Ports 3050 und 3025 offen. Auch deaktivieren brachte keine Änderung

Ich weiß mir nicht mehr zu helfen...

Danke für Infos...
Miniaturansicht angehängter Grafiken
dienste.png   fb_conf21.png   fb_conf25.png   ibexpert-_communication3025.png   ibexpert-_communication3050.png  

  Mit Zitat antworten Zitat
tsteinmaurer

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

AW: Firebird Parallelbetrieb

  Alt 5. Jan 2012, 21:23
Damit ein Parameter in firebird.conf Wirkung zeigt, mußt du natürlich das # entfernen. Danach den Firebird Server restarten, sofern du SuperServer einsetzt.
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.288 Beiträge
 
Delphi 12 Athens
 
#9

AW: Firebird Parallelbetrieb

  Alt 5. Jan 2012, 21:38
Vielen Dank...
Zitat:
Damit ein Parameter in firebird.conf Wirkung zeigt, mußt du natürlich das # entfernen.
... na super daß das in der Anleitung auch beschrieben ist.

Sooo... jetzt geht zumindest die Portkommunikation. Unterschied ist immer noch
Zitat:
Could not resolve service '' at port '3025'
Connection established to host 'FIRMA-SERVER',
on port 3025.
Zitat:
Found service 'GDS_DB' at port '3050'
Connection established to host 'FIRMA-SERVER',
on port 3050.
...beide Dienste gestartet (neu gestartet)

und das DLL Problem bleibt...
Miniaturansicht angehängter Grafiken
dll213.png   dll214.png  

Geändert von haentschman ( 5. Jan 2012 um 21:41 Uhr)
  Mit Zitat antworten Zitat
tsteinmaurer

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

AW: Firebird Parallelbetrieb

  Alt 5. Jan 2012, 21:48
Naja, du mußt im Connect-String jetzt schon noch sagen, auf welche "Instanz" du dich verbinden möchtest. Das macht man durch die Angabe des Ports im Connect-String, zum Beispiel bei 3025 mit:

server/3025:c:\...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

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 13:48 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