AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

MSSQL Replikation

Ein Thema von haentschman · begonnen am 10. Mär 2022 · letzter Beitrag vom 15. Apr 2022
Antwort Antwort
Benutzerbild von haentschman
haentschman

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

AW: MSSQL Repikation

  Alt 10. Mär 2022, 16:19
Zitat:
und es gibt keine Konflikte beim Mergen.
...dafür ist die Sperrtabelle da. Damit nur einer schreiben kann. Bei Mergerepikation könnte es vorkommen, das 2 dann den DS offen haben...
Zitat:
1.000.000.000.003, ...usw. - und es gibt keine Konflikte beim Mergen
Wenn 2 die 1.000.000.000.003 schreiben könnte das auch zu Konflikten führen.

Geändert von haentschman (11. Mär 2022 um 05:05 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.222 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: MSSQL Repikation

  Alt 10. Mär 2022, 16:22
Wenn 2 die 1.000.000.000.003 schreiben könnte das auch zu Konflikten führen.
Filiale 1 bekommt Nummernbereich 1.000.000.000.000 bis 1.999....
Filiale 2 bekommt Nummernbereich 2.000.000.000.000 bis 2.999....

Theoretisch gibts keine Überschneidungen.
Praktisch sind bei uns 2 Hersteller von CRMs an genau diesem Problem gescheitert...
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

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

AW: MSSQL Repikation

  Alt 10. Mär 2022, 18:12
Zitat:
Wenn 2 die 1.000.000.000.003 schreiben könnte das auch zu Konflikten führen.
...wenn aber 2 Niederlassungen oder der Hauptsitz gleichzeitig, was möglich ist, am Beleg arbeiten, hast du trotzdem evt. Konflikte...unabhängig von der ID des Datensatzes...weil die ID ist in diesem Falle gleich!
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.222 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: MSSQL Repikation

  Alt 12. Mär 2022, 11:37
...wenn aber 2 Niederlassungen oder der Hauptsitz gleichzeitig, was möglich ist, am Beleg arbeiten, hast du trotzdem evt. Konflikte...unabhängig von der ID des Datensatzes...weil die ID ist in diesem Falle gleich!
Gleiche schon existierende ID.
Das ist eigentlich immer das "kleinere Problem", da hierfür entweder die Anwendung eine Konflikt-Wizward anbieten muss/wird oder das über die DB-Tools der Hersteller läuft.

Unsere Anwendung läuft auch bei einem Kunden mit zwei großen Standorten mit Merge-Replikation.
Auch wenn unsere Anwendung nicht für Replikation ausgelegt ist, funktioniert es. Aber auch nur weil die Nummernbereiche getrennt sind und praktisch der o.g. Fall nicht vorkommen sollte. Und falls doch ist der en IT so fähig die Merge-Konflikte selbständig zu lösen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

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

AW: MSSQL Repikation

  Alt 12. Mär 2022, 16:43
Hallöle...
Zitat:
die Anwendung eine Konflikt-Wizward anbieten muss
...ich stelle sicher, daß nur einer im "System" diesen DS schreiben kann. Alle anderen kennen die Sperre, weil sie ist auf der "Masterdatenbank" eingetragen. Jeder Client setzt beim Bearbeiten die Sperre "zentral"...und nimmt sie auch wieder raus.

Klar kann trotzdem noch einiges schiefgehen. Sowas wie: Sperre kann nicht entfernt werden...weil Internet kaputt. Dafür kann man die Sperre im Notfalle manuell entfernen.

...aber wenigstens keine überschriebenen Daten.

Danke an Alle...
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

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

AW: MSSQL Repikation

  Alt 5. Apr 2022, 08:05

[neue Frage]
Ich habe auf dem Live System NUR eine Veröffentlichung erstellt. Der Snapshot wird aller 5 Minuten ausgeführt...ohne Probleme.
An dieser Veröffentlichung hängt noch kein Abonnent dran.

Fehler beim normalen Speichern (SQL) eines komplexen Objektes innerhalb einer Transaktion:
Zitat:
exception message : [FireDAC][Phys][ODBC][Microsoft][SQL Server Native Client 11.0][SQL Server]Ein Rollback für SP_3 kann nicht ausgeführt werden. Es wurde keine Transaktion oder kein Sicherungspunkt mit diesem Namen gefunden.
vereinfacht:
Delphi-Quellcode:
begin
  Qry := CreateQuery;
  try
    Transaction := TFDTransaction.Create(nil);
    try
      Transaction.Connection := FConnection;
      Qry.Transaction := Transaction;

      Transaction.StartTransaction;
      try
        case Receipt.State of
          sdsModified:
          begin
            Qry.SQL.Text := GetSQLByName('XXX_UPDATE_ID');
            Qry.ParamByName('ID').AsInteger := Receipt.ID;
            FillParameters;
            Qry.ExecSQL;
            WriteLists; //wieder SQL für Detail Objekte
          end;
        end;
        Transaction.Commit;
      except
        Transaction.Rollback;
      end;
    finally
      Transaction.Free;
    end;
  finally
    Qry.Free;
  end;
end;
PS: es gibt keine SP_3. In Fehlermeldungen später war es auch u.a. SP_2.

..nach Entfernung der Veröffentlichung wird wieder normal gespeichert.

Nach was muß ich suchen?
  Mit Zitat antworten Zitat
rokli

Registriert seit: 21. Mär 2009
Ort: Rödinghausen
302 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: MSSQL Repikation

  Alt 5. Apr 2022, 12:30
Neuer Gedanke
Status in den Tabellen:

Status = 0 > neuer Datensatz ... System1 darf verarbeiten

System 1 liest ein und setzt Status danach = 10
Status = 10 > System1 hat verarbeitet

System 2 liest ein und setzt Status danach = 20
Status = 20 > System2 hat verarbeiten

So weißt du immer, wer das schon bearbeitet hat und wer nicht ...
Rolf
wenn nicht anders angegeben, schreibe ich zu D7, XE2 und MS SQL - ansonsten fragen Sie ihren Administrator oder einen Operator. Update 06/2020: Delphi 10.4 Sydney
  Mit Zitat antworten Zitat
Antwort Antwort


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 10:47 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-2025 by Thomas Breitkreuz