AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Zwei Spalten auf zwei Server vergleichen

Zwei Spalten auf zwei Server vergleichen

Ein Thema von Edelfix · begonnen am 27. Feb 2015 · letzter Beitrag vom 4. Mär 2015
Antwort Antwort
Seite 1 von 2  1 2   
Edelfix

Registriert seit: 6. Feb 2015
Ort: Stadtoldendorf
213 Beiträge
 
Delphi 10.4 Sydney
 
#1

Zwei Spalten auf zwei Server vergleichen

  Alt 27. Feb 2015, 18:02
Datenbank: ADS • Version: 11.9 • Zugriff über: Delphi XE7
Hallo,

es geht um ein Überwachung Tool. Wir versuchen zwei Advantage Database Server die an verschiedenen Orten stehen über VPN synchron zu halten.
Leider gibt es immer wieder Abweichungen. Um das zu überwachen möchten wir ein Überwachung Tool jede Nacht laufen lassen das per Email meldet wenn die Datenbanken nicht gleich sind.

Ich hatte mir gedacht das ich mit einer Query die Spalte mit den ID´s aus der ersten Datenbank hole und mit einer zweiten Query dasselbe aus der anderen Datenbank.

Danach beide Ergebnisse mit einer while Query.eof Schleife vergleiche.

Da es aber über 10.000 Einträge sind dauert das lange und es sind viele Tabellen.

Hat jemand eine Idee wie man das beschleunigen oder geschickter anstellen kann?

So etwas wie zwischen speichern und mit einer dritten Query und Where Filter nur die Abweichungen auslesen oder so etwas...
Weil es unterschiedliche Server sind brauche ich auch zwei verschiedene Server Verbindungen. Deswegen geht UNION leider nicht.

Bin für Vorschläge dankbar.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.114 Beiträge
 
Delphi 12 Athens
 
#2

AW: Zwei Spalten auf zwei Server vergleichen

  Alt 27. Feb 2015, 18:19
Zitat:
Deswegen geht UNION leider nicht.
Einige DBMS bieten es an, daß man intern Links, für z.B. Selects, zu anderen Datenbanken auf machen kann ... dann könntest du in einer DB eine StoredProc schreiben, welche die eigenen Daten läd, dazu sich die Daten von der anderen DB und das dann intern vergleicht. (50% weniger traffic und innerhalb der DB sind die eigenen Daten auch schneller geladen)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Edelfix

Registriert seit: 6. Feb 2015
Ort: Stadtoldendorf
213 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Zwei Spalten auf zwei Server vergleichen

  Alt 27. Feb 2015, 18:30
Wow! Das ging schnell. Ein Forum das wie ein Chatraum funktioniert.

Mit dem Advantage Database Architekten (bei liegende Verwaltunssoftware) kann man tatsächlich über "Links" weitere Datenbanken anhängen.
Funktioniert leider nicht mit Datenbanken die über eine IP Adresse, Port, Username, Passwort verbunden werden müssen.
Oder wir haben dabei was falsch gemacht.
Als neue Dictionary Connection können wir den externen Remote Server als neue Datenbank einrichten und connecten aber über "Links" an eine local existierende DB anhängen klappt leider nicht.

Danke für den Vorschlag.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.114 Beiträge
 
Delphi 12 Athens
 
#4

AW: Zwei Spalten auf zwei Server vergleichen

  Alt 27. Feb 2015, 20:49
Wie das mit den Links genau funktionier, da kann ich nicht helfen.

Aber wenn es nur an der IP liegt, dann könntet ihr es eventuell via VPN erledigen, also ein Tunnel zum anderen Server und die DB ist dann lokal über einen Port erreichbar.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Edelfix

Registriert seit: 6. Feb 2015
Ort: Stadtoldendorf
213 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Zwei Spalten auf zwei Server vergleichen

  Alt 28. Feb 2015, 09:18
Ein auszug aus der Hilfe:

Advantage Data Dictionaries can be linked so that tables from multiple databases may be queried in the same SQL statement. The links are created using either the AdsDDCreateLink API in ACE or the sp_CreateLink stored procedure in SQL.

For example, suppose a link named DB2 is created in the database A to reference database B, a connection made to database A can then reference the tables in database B using the dot notation – "SELECT * FROM DB2.table1".

Tables in the linked data dictionary can be used in an SQL statement but they cannot be opened directly using the ACE API. However, this limitation can be worked around by defining a view that references the linked table. For example, given the same set up as the previous example, a view named "DB2_TABLE1" may be defined as "SELECT * FROM DB2.table1". The view DB2_TABLE1 can be opened directly using the ACE API and all of the navigational commands will be available on this view. The only limitation is that the table cannot be opened exclusively and commands that require exclusive access to the table are not available.

Das würde heissen daß es wohl schon der richtige Weg ist. Der zweite Server ist über VPN verbunden.
Da es bis jetzt bei jedem Versuch den externen Server so zu verbinden zur Fehlemeldungen kamm dachte ich das es generell nicht geht.

Ich muss Montag noch einmal die Fehlermeldungen genauer betrachten.
  Mit Zitat antworten Zitat
RSF

Registriert seit: 13. Mär 2008
150 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#6

AW: Zwei Spalten auf zwei Server vergleichen

  Alt 1. Mär 2015, 14:29
Soweit ich ADS kenne gibt es zum Zweck der Synchronisation die Möglichkeit der Replikation.
http://devzone.advantagedatabase.com..._scenarios.htm
Ronald

Geändert von RSF ( 1. Mär 2015 um 14:36 Uhr) Grund: Link geändert
  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
 
#7

AW: Zwei Spalten auf zwei Server vergleichen

  Alt 1. Mär 2015, 16:23
Soweit ich ADS kenne gibt es zum Zweck der Synchronisation die Möglichkeit der Replikation.
http://devzone.advantagedatabase.com..._scenarios.htm
Ich hätte jetzt gedacht, dass das schon eingesetzt wird und es dabei zu Problemen kommt ...
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
Benutzerbild von rweinzierl
rweinzierl

Registriert seit: 22. Mär 2005
98 Beiträge
 
#8

AW: Zwei Spalten auf zwei Server vergleichen

  Alt 1. Mär 2015, 18:09
Hallo

Keine Ahnung ob das hilft aber ich würde als erstes auf beiden servern die Daten jeder Tabelle in eine Text Datei schreiben und mir einen Hash Wert erstellen lassen ==> Das kann super simple vergleichen .

mfg

Reinhold
  Mit Zitat antworten Zitat
RSF

Registriert seit: 13. Mär 2008
150 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#9

AW: Zwei Spalten auf zwei Server vergleichen

  Alt 1. Mär 2015, 18:14
Soweit ich ADS kenne gibt es zum Zweck der Synchronisation die Möglichkeit der Replikation.
http://devzone.advantagedatabase.com..._scenarios.htm
Ich hätte jetzt gedacht, dass das schon eingesetzt wird und es dabei zu Problemen kommt ...
Also stellt sich die Frage:
Wie (mit was) Synchronisiert ihr die zwei Datenbanken.
?
Ronald
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#10

AW: Zwei Spalten auf zwei Server vergleichen

  Alt 1. Mär 2015, 18:56
Advantage Data Dictionaries can be linked so that tables from multiple databases may be queried in the same SQL statement. The links are created using either the AdsDDCreateLink API in ACE or the sp_CreateLink stored procedure in SQL.

Das würde heissen daß es wohl schon der richtige Weg ist.
Nein, das ist es nicht. Dort steht nur "multiple Databases". Das funktioniert nur wenn diese von der selben ADS Instanz verwaltet werden.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  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 01:17 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