AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Zconnection zur Laufzeit erstellen

Zconnection zur Laufzeit erstellen

Ein Thema von khh · begonnen am 7. Aug 2013 · letzter Beitrag vom 7. Aug 2013
Antwort Antwort
Seite 1 von 2  1 2   
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.903 Beiträge
 
FreePascal / Lazarus
 
#1

Zconnection zur Laufzeit erstellen

  Alt 7. Aug 2013, 10:19
Datenbank: firebird • Version: 2.1 • Zugriff über: Zeos
Hallo zusammen, ich möchte eine Anzahl Zconnections(ZEOS) zur Laufzeit erstellen.

Wie viele das sind entscheidet sich ebenfalls erst zur Laufzeit.
Das scheitert aber wohl daran, dass ich in Delphi/Pascal die Connections vorher deklarieren muss

Jemand ne Idee?
Karl-Heinz
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#2

AW: Zconnection zur Laufzeit erstellen

  Alt 7. Aug 2013, 10:25
Hallo zusammen, ich möchte eine Anzahl Zconnections(ZEOS) zur Laufzeit erstellen.

Wie viele das sind entscheidet sich ebenfalls erst zur Laufzeit.
Das scheitert aber wohl daran, dass ich in Delphi/Pascal die Connections vorher deklarieren muss

Jemand ne Idee?
Hai khh,

warum brauchst Du denn mehrere Connections? Verbindest Du dich zeitgleich zu mehrere Datenbanksystemen?

Aber egal. Warum sollte es nicht möglichsein eine TZConnection zur Laufzeit zu erzeugen? Ist doch ein Object wie jedes andere auch.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: Zconnection zur Laufzeit erstellen

  Alt 7. Aug 2013, 10:27
Wenn die alle gleich sein sollen (also auf den selben Server, gleiche Accountdaten, etc.), dann baue dir eine Factory und evtl. noch eine ObjectPool.

Was willst du damit erreichen? Davon hängt auch die Implementierung ab
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.903 Beiträge
 
FreePascal / Lazarus
 
#4

AW: Zconnection zur Laufzeit erstellen

  Alt 7. Aug 2013, 10:28
ja , ich verbinde gleichzeitig zu mehreren Datenbanken.

Welche und wieviele das sind entscheidet sich erst zur Laufzeit.
Karl-Heinz
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

AW: Zconnection zur Laufzeit erstellen

  Alt 7. Aug 2013, 10:31
Aber wo ist denn das Problem?

Das reine Erzeugen und Eigenschaften setzen kann es ja nicht sein
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.903 Beiträge
 
FreePascal / Lazarus
 
#6

AW: Zconnection zur Laufzeit erstellen

  Alt 7. Aug 2013, 10:32
Wenn die alle gleich sein sollen (also auf den selben Server, gleiche Accountdaten, etc.), dann baue dir eine Factory und evtl. noch eine ObjectPool.

Was willst du damit erreichen? Davon hängt auch die Implementierung ab
nein , die sind eben nicht alle gleich.
Es geht um einen Datenabgleich auf mehreren Maschinen, den ich eben deshalb flexibel halten möchte, da die Anzahl der beteiligten Maschinen erst zur Laufzeit entschieden wird.
Die Zugangsdaten lese ich, wohl altmodisch, aus einer Inidatei.
Karl-Heinz
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.903 Beiträge
 
FreePascal / Lazarus
 
#7

AW: Zconnection zur Laufzeit erstellen

  Alt 7. Aug 2013, 10:35
>> Aber wo ist denn das Problem?

Vielleicht stehe ich ja auf der Leitung.

ich möchte für jede Verbindung zur Laufzeit eine Zconnection erzeugen und die Zugangsdaten zuweisen.
dabei brauche ich doch x verschiedene Bezeichnungen und ZConnection-Objekte, oder ?
Ich kann aber doch das Objekt erst anlegen, wenn es vorher im Deklarationsteil der Unit deklariert wurde?
Das weiss ich aber zu der Zeit noch nicht

Nachtrag: den ganzen Aufwand brauch ich, weil sichergestellt werden muss, dass der Datenabgleich auf allen Maschinen gleichzeitig durchgeführt wird.
Deshalb möchte ich erst alle Verbindungen aufbauen, und erst wenn alle Verbindungen stehen, den Abgleich durchführen.

Jemand ne andere Idee?
Karl-Heinz

Geändert von khh ( 7. Aug 2013 um 10:45 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#8

AW: Zconnection zur Laufzeit erstellen

  Alt 7. Aug 2013, 10:51
Die Strukturen sind aber bei jedem Server gleich?

Dann übergib doch dem Verarbeitungsteil einfach nur die Connection und auf der wird dann rumgeorgelt.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.903 Beiträge
 
FreePascal / Lazarus
 
#9

AW: Zconnection zur Laufzeit erstellen

  Alt 7. Aug 2013, 10:56
ja, die Strukturen sind gleich.

ich glaube ich steh wirklich auf der Leitung

Wie meinst das, mit connection übergeben.
Dann hab ich die Verbindungen aber doch nicht gleichzeitig??

Ich wollte alle Verbindungen aufbauen und die Verbindung halten, dann die Daten abgleichen und erst am Schluss, wenn alles durchgelaufen ist, die einzelnen Tabellen "commiten".
Karl-Heinz
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#10

AW: Zconnection zur Laufzeit erstellen

  Alt 7. Aug 2013, 10:59
Also packst du die ganzen Connections in eine Liste.

Dann durch die Liste gehen und jeweils die Verbindung aufbauen.
Dann durch die Liste und jeweils eine Transaktion starten.

Dann durch die Liste gehen und jeweils die Befehle ausführen.

Dann durch die Liste gehen und jeweils die Transaktion committen.

Bei einem Fehler

Durch die Liste gehen und jeweils die Transaktion rollbacken
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  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 19:51 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