AGB  ·  Datenschutz  ·  Impressum  







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

offline DB

Ein Thema von Tim Henford · begonnen am 17. Mär 2007 · letzter Beitrag vom 20. Mär 2007
Antwort Antwort
Tim Henford

Registriert seit: 14. Sep 2006
169 Beiträge
 
#1

offline DB

  Alt 17. Mär 2007, 10:31
Datenbank: MSSQL • Zugriff über: ADO
Hallo,

also ich habe das Problem, dass ich eine Datenbank auf einem Server liegen habe, an der mehrere Leute arbeiten sollen.
Die Leute müssen die DB aber im Prinzip offline mit nach Hause nehmen können um weiter daran zu arbeiten.
Da hab ich erst mit StringGrid und Files die Inhalte der Tabellen der DB gespeichert, aber da gehen ja viele Dinge verloren, wie Datentyp usw.

Was gibt es denn da für eine bessere Lösung, damit ich die DB trotzdem offline sozusagen editieren kann, ohne das was verloren geht?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: offline DB

  Alt 17. Mär 2007, 10:32
-Replikation
-ClientDataSet
Markus Kinzler
  Mit Zitat antworten Zitat
Tim Henford

Registriert seit: 14. Sep 2006
169 Beiträge
 
#3

Re: offline DB

  Alt 17. Mär 2007, 11:29
Huh, uh kannst du mir bitte noch ein wenig mehr schreiben?
Hab gerade gelesen das SQL-Anweisungen wohl nicht möglich sind...gibt es da Probleme beim Filtern und Sortieren?
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#4

Re: offline DB

  Alt 17. Mär 2007, 12:19
Zitat von Tim Henford:
Hab gerade gelesen das SQL-Anweisungen wohl nicht möglich sind...gibt es da Probleme beim Filtern und Sortieren?
Ohne was Böses zu unterstellen, aber bist Du sicher dass deine DB Kenntnisse fundiert genug sind. Ich hoffe doch, du hast nicht ernsthaft in Erwägung gezogen, deine Tabellen in einer Stringlist abzuspeichern, oder ?

Der SQL Server von Microsoft bietet von Haus aus Replikationsmechanismen, zu mindest ab einer gewissen Version (ich glaub die Standard Edition kann das nicht). Das heisst aber noch lang nicht dass auf Client Seite nichts zu ändern und zu berücksichtigen wäre. Das Problem ist allgemein das folgende:

Da mehrer Benutzer gleichzeitig an ihrer lokalen DB rummachen, muss auch jeder seine Änderungen irgendwie in die Hauptdtenbank zurückspielen. Und das bringt gleich mehrere Probleme mit sich:
  • Neue Datensätze müssen übertragen werden
  • Du musst sicherstellen dass alle Benutzer lokal ihre eigenen Primary Keys verwalten, und dass diese später auch eindeutig in der Hauptdatenbank bleiben
  • Änderungen müssen erkannt werden. Dabei kann Concurrency auftreten, sprich mehrere Benutzer ändern in ihren lokalen Kopien den gleichen Datensatz
  • gelöschte Datn müssen auch gelöscht werden

Also deshal mein Tipp: lies dich mal rcihtig in die Thematik der Datenbankreplikation rein. Der SQL Server nimmt Di ja da schon das meiste an Arbeit ab.
  Mit Zitat antworten Zitat
Tim Henford

Registriert seit: 14. Sep 2006
169 Beiträge
 
#5

Re: offline DB

  Alt 17. Mär 2007, 12:59
danke jelly.
ja, sorry mit der Textfile war eine mächtig doofe Idee, da die Tabelle nicht so sehr groß war, dachte ich, dass das langen könnte, aber weit gefehlt!

Genau das Problem, dass du beschreibst versuche ich gerade zu lösen, indem ich jeder Tabelle eine "Created_at" und "Modified_At" Spalte hinzufügen wollte, sowie einen last_ServerContact in einer separaten Tabelle, sodass ich die Lokale und ServerTabellen dann abgleichen kann.
Denn was, weiß denn ich, was der MS SQL Server bei einem Update macht oder übernimmt oder wie auch immer?!


@mkinzler:
alles klar ClientDataSet funktioniert wunderbar...! Danke...
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#6

Re: offline DB

  Alt 17. Mär 2007, 13:05
Zitat von Tim Henford:
Denn was, weiß denn ich, was der MS SQL Server bei einem Update macht oder übernimmt oder wie auch immer?!
Du kannst im SQL Server eine bestehende Datenbank zur Replikation vorbereiten. Dabei werden in allen Tabelle automatisch zusaätzliche Spalten beigefügt, um eben genau die Kontrolle über Äderungen zu haben. Bei SQL 2000 geht das über den Enterprise Manager. Fehlt die Option bei dir, wirst du wohl auf eine höhere Version aufstocken müssen, willst du die internen Replikationsmöglichkeiten von MSSQL nutzen.

In Der Entwickler Zeitschrift war mal vor einigen Monaten ein Artikel über Datenbankreplikation für Firebird drin. Dort wurde eine Lösung nachgebaut, weil Firebird von Haus aus keine Replikation unterstützt. Vielleicht hilft dir der Artikel ja etwas weiter. Stöber mal in deren Archiven rum.
  Mit Zitat antworten Zitat
Tim Henford

Registriert seit: 14. Sep 2006
169 Beiträge
 
#7

Re: offline DB

  Alt 17. Mär 2007, 16:49
Irgendwie hab ich leider beim entwickler nichts auf Anhieb beim Durchblättern gefunden zum Thema Firebird und Datenreplikation

So nun hab ich mal ein bisschen rumexperementiert, aber
irgendwie steck ich hier schon fest, vielleicht stell ich mich ein bisschen an, aber so richtig findet man auch kein Tutorial

Sobald ich einen Snapshotordner angeben soll, erscheint die Fehlermeldung:
\\PCNAME\C$\\ReplData ist kein gültiger Pfad oder Dateiname

vorher gibt es schon Probleme mit
"Der SQL Server-Agent auf PCNAME verwendet momentan das Systemkonto, so dass die Replikation zw. Servern fehlschlägt...."

Muss hierfür ein Extra Konto angelegt werden?
  Mit Zitat antworten Zitat
Tim Henford

Registriert seit: 14. Sep 2006
169 Beiträge
 
#8

Re: offline DB

  Alt 20. Mär 2007, 07:40
So nun hab ich das Problem in den Griff bekommen, nun weiß ich nicht genau, wie das mit dem Abonnement aussieht.
Hab mir überlegt, dass wohl die Merge-Replikation am ehesten zutrifft.

Wie wird nun vom Clienten der SQLServer DB gesagt, dass er die neuen Daten von der DB haben möchte und seine neuen offline-erstellten Daten dabei nicht verloren gehen, sondern auch zurück zur DB gesendet werden?
  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 12:00 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