Zitat von
marabu:
du schreibst gar nichts über die Randbedingungen, die dich zur Wahl deines Lösungsansatzes getrieben haben. Warum kannst du den Abgleich der Daten nicht über Replikation lösen?
naja, ich wollte meinen Beitrag nicht noch länger werden lassen.
Also, es geht darum, dass man eine öffentliche und eine im prinip nicht-öffentliche
DB hat. Zwischen beiden sitzt eine Firewall, die nur Verbindungen von nicht-öffentlich zu öffentlich zulässt (und nur einen Port). Es müssen aber auch Daten von der öffentlichen Seite zur Nicht-öffentlichen gehen.
Das heisst, dass Tool mit dem der Server auf der nicht-öffentlichen Seite eine Verbindung aufbaut, macht einen Abgleich in beide Richtigen, wobei vom nicht-öffentlichen Server mehr rübergeschoben wird, der Weg von öffentlich nach nicht-öffentlich ist aus Sicherheitsgründen auf eine Tabelle begrenzt.
Da dieses Ausgleichen sehr oft (sagen wir mal alle 10 Minuten) passieren soll, kann ich es nicht über Replikation machen. Für die Replikation muss man exklusiven Zugriff auf alle Tabellen haben, da nun aber gerade jemand auf der Homepage ist und irgendwas einträgt (in diese eine Tabelle, die von aussen nach innen geht), würde das dann nicht gehen - oder doch?
Ausserdem, ist die
DB jetzt ~300MB gross, dass heisst die Übertragung alle 10 Minuten finde ich da nicht so sinnvoll, oder verstehe ich das jetzt falsch?
Und noch ein dritter Punkt spricht für mich dagegen, was ist mit der Verbindung von aussen nach innen, diese Verbindungart gibt es nicht (Firewall).
Bitte korrigire mich, wenn ich das falsch sehe.
Zitat von
marabu:
Zitat von
omata:
Also, wenn man mal irgendwo eine Spalte hinzufügt, dann soll das auch automatisch übertragen werden (natürlich müssen beide Datenbanken vom Aufbau her gleich sein).
Hast du dich verschrieben oder möchtest du auch Änderungen an den Metadaten nachführen?
Sorry, was verstehst du unter Metadaten? Den Aufbau der Tabellen in der
DB? Wenn ja, dann meine ich genau das. Unsere
DB muss ständig erweitert oder auch umgebaut werden. Glücklich bin ich darüber natürlich nicht, aber was soll ich machen. Die Anforderungen drehen sich manchmal bis zu 180°
<EDIT>
oh, ich glaube jetzt verstehe ich was du meinst.
Ob sich was an den Primary-Key-Verbindungen ändert. Natürlich nicht! es kommen eventuell nur neue Felder hinzu. Danke, dass war schonmal der erste Knoten der sich gelöst hat. Dieses Problem übernimmt ja das Delphiprogramm. In der Änderungtabelle steht ja nur drin in welcher Tabelle sich welche Zeile wie verändert hat. Und dort wird nur der Primary-Key-Inhalt gespeichert - und der wird gleich bleiben.
</EDIT>
Zitat von
marabu:
Zu deiner SP / Trigger Problematik: Microsoft empfiehlt den Einsatz von CAST anstelle von CONVERT wo immer möglich. Und für den Zugriff auf Informationen der Pseudo Tabellen aus einer SP heraus, vielleicht kannst du die relevanten Daten ja als Parameter an die SP übergeben?
Ja, ok. Ob nun CAST oder CONVERT ist hierbei, denke ich, erstmal egal. Aber trotzdem danke für den Hinweis. Und wo du das gerade ansprichst, warum eigentlich?
Trotzdem, vielen Dank marabu, dass du dich meinem Problem annimmst und versuchst mir zuhelfen...
Thorsten