AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Mit ZEOS auf Firebird Server + Embedded gleichzeitig zugreif
Thema durchsuchen
Ansicht
Themen-Optionen

Mit ZEOS auf Firebird Server + Embedded gleichzeitig zugreif

Offene Frage von "SBDelphi"
Ein Thema von SBDelphi · begonnen am 10. Jun 2009 · letzter Beitrag vom 10. Jun 2009
 
SBDelphi

Registriert seit: 10. Jun 2009
10 Beiträge
 
#1

Mit ZEOS auf Firebird Server + Embedded gleichzeitig zugreif

  Alt 10. Jun 2009, 14:50
Datenbank: Firebird • Version: 2.1 • Zugriff über: ZEOS
Hallo zusammen!

hab da ein etwas nerviges Problem. Für die Steuerung eines Lagersystems hab ich folgende Vorgehensweise anvisiert:
Datenbestand: Firebird 2.1 auf einem Server
Fehlermeldungen: Firdbird 2.1 Embedded auf lokalem Rechner

Ich will jetzt per ZEOS auf die Datenbanken zugreifen (TZConnection).
Wie löst man das Problem, dass ich auf zwei Datenbanken gleichzeitig zugreifen muss?

Ich hab das mal versucht so zu lösen.
Delphi-Quellcode:
unit MainUnit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs,ZConnection,DB,ZAbstractRODataset,ZAbstractDataset,ZDataset, StdCtrls;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
    UserDBConnection: TZConnection;
    ServerConnection: TZConnection;
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin

    UserDBConnection.Disconnect;
    USerDBConnection.Free;

    ServerConnection.Disconnect;
    { Zugriffsverletzung -901 Invalid Transaction Handle }
    ServerConnection.Free;
end;

procedure TForm1.FormCreate(Sender: TObject);
var WideStr: WideString;
    FQuery: TZQuery;
    f: textfile;
    s: string;
begin

    UserDBConnection:=TZConnection.Create(Self);
    UserDBConnection.Database:='T:\test.fdb';
    UserDBConnection.Protocol:='firebirdd-2.0';
    UserDBConnection.User:='SYSDBA';
    UserDBConnection.Connect;
    FQuery:=TZQuery.Create(nil);
    FQuery.Connection:= UserDBConnection;
    WideStr:='SELECT * FROM BENUTZER';
    with FQuery do
    begin
        SQL.Clear;
        SQL.Add(WideStr);
        Open;
    end;
    Label1.Caption:='UserDB: '+IntToStr(FQuery.RecordCount)+' Einträge';
    FQuery.Free;

    ServerConnection:=TZConnection.Create(Self);
    ServerConnection.Database:='MATERIALSTAMM';
    ServerConnection.Protocol:='firebird-2.0';
    ServerConnection.User:='FRANZ';
    ServerConnection.Password:='nix';
    ServerConnection.HostName:='localhost';
    ServerConnection.Connect;
    FQuery:=TZQuery.Create(nil);
    FQuery.Connection:= ServerConnection;
    WideStr:='SELECT * FROM MATERIAL';
    with FQuery do
    begin
        SQL.Clear;
        SQL.Add(WideStr);
        Open;
    end;
    Label2.Caption:='ServerDB: '+IntToStr(FQuery.RecordCount)+' Einträge';
    FQuery.Free;


    { Diese Abfrage macht Tabelleabfrage auf Server, nicht von Embedded ??? }
    FQuery:=TZQuery.Create(nil);
    FQuery.Connection:= UserDBConnection;
    WideStr:='SELECT * FROM BENUTZER';
    with FQuery do
    begin
        SQL.Clear;
        SQL.Add(WideStr);
        Open;
    end;
    Label3.Caption:='UserDB: '+IntToStr(FQuery.RecordCount)+' Einträge';
    FQuery.Free;
end;

end.
Entweder nur Server oder nur Embedded funktioniert. Sobald ich aber zwei Instanzen von TZConnection erzeuge,
geht das ganze nicht mehr, Fehlercodes -904 / -901.

Was mach ich falsch?

Für Eure Hilfe vielen Dank im voraus
Angehängte Dateien
Dateityp: pas mainunit_110.pas (2,6 KB, 2x aufgerufen)
  Mit Zitat antworten Zitat
 


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 02:48 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 by Thomas Breitkreuz