gleichzeitiger Zugriff auf eine Datenbank

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 13 Antworten in diesem Thema. Der letzte Beitrag () ist von petaod.

    gleichzeitiger Zugriff auf eine Datenbank

    Hallo Forum,

    ich mache mir gerade Gedanken über ein Programm, welches eine Datenbank enthalten soll, die zur Kundenerfassung dienen soll.

    Kopfzerbrechen, bereitet mir die Frage, ob es funktioniert, dass auf die Datenbank (diese soll übrigens auf einem Server liegen), von mehreren Rechnern aus gleichzeitig zugegriffen werden kann.
    Ich denke das Auslesen der Datenbank sollte keine Probleme machen, wenn das gleichzeitig von z.B. zwei Usern geschieht.
    Was ist aber, wenn z.B. User "A" einen neuen Kunden anlegen möchte? Bekommt das User "B" mit? Wird bei User "B" die Anzeige dann aktuallisiert?

    Danke schon mal für Eure Unterstützung.

    Schönen Abend
    Tom


    EDIT:
    Selbst wenn ich das alles ohne DBMS realisiere und alles in einem xml-file ablege, stellt sich mir die gleiche Frage. Bekommt User "B" die Änderungen am xml, die von User "A" gemacht wurden, mit?

    Danke

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „TomWi“ ()

    Servus,

    Du musst deinen Clients beibringen sich nach einer gewissen Zeit die Daten erneut aus der DB zu holen.
    Oder du erstellst eine Serveranwendung an die sich deine Clients anmelden und der Server pusht die Daten an die Clients.
    Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.
    Danke an die Community.

    die Geschichte mit dem gleichzeitigen Zugriff von unterschiedlichern Usern auf die gleiche DB, ist für mich momentan wohl doch noch etwas zu hoch. Das muss ich mir eingestehen.

    Ich habe mir aber einen anderen Lösungsansatz überlegt.

    Es geht ja darum, Kunden zu erfassen (Name, Anschrift usw) und dazu kommen dann noch die ganzen Angebote und Rechnungen der Kunden. Diese werden als PDF oder xlsx auf der Platte gespeichert.
    Meine Überlegung war jetzt, für jeden Kunden einen Ordner anzulegen, in dem dann die ganzen Dokumente gespeichert werden. Für Name und Anschrift habe ich mir überlegt, diese in ein xml zu schreiben.
    Die Ordner pro Kunde, kann ich dann auslesen und in ein ListView eintragen. Beim klicken auf den Namen, sollen Textboxen mit Name, Adresse usw aus den xml gefüllt werden und dann soll es noch ein zweites ListView geben, in dem dann die verschiedenen Dokumente des Kunden gangezeigt werden. Evtl. mit als Link, zum direkten Öffnen der Dateien.

    Diese UserForm, mit der die Kundendaten ausgelesen werden, öffnet sich über einen Klick auf einen Button. Das heißt also, jedes mal, wenn die Form geöffnet wird, werden die Ordner ausgelsen und in die ListViews eingetragen.
    Somit ist für alle User dieses Programm gewärleistet, dass immer alle User alle Kunden in den ListViews haben.

    Was haltet Ihr davon? Wie lange dauert das Auslesen der Ordner, bei sagen wir mal ca. 2000 Kunden(Ordner). Habe ich da große Performanceinbußen?

    Schönen Arbeitstag @All

    TomWi schrieb:

    Was haltet Ihr davon?
    Sorry - nix.

    Hier ist mindestens ein typisiertes Dataset erforderlich, möglicherweise auch später eine richtige Datenbank zu hinterlegen.
    Wenn dir diese Technologien zu hoch sind, dann wurstel bitte nix zurecht mit Technologien, die du zu beherrschen vermeinst, die aber schon von der Anlage her untauglich sind.

    Kernproblem scheint mir, dass bereits der Begriff "Datenmodellierung" dir zu hoch ist - wenn du auf solche Ideen verfällst, wie Kunden-Datensätze als Ordner im Dateisystem anzulegen.

    Also erlerne die Datenverarbeitungs-Vorraussetzungen, und erledige dann die Aufgabe, oder lass einfach die Finger davon.
    Ein Datenmodell ist ein Modell eines Wirklichkeit-Ausschnittes.
    In der Wirklichkeit gibt es Kunden, Rechnungen, Aufträge, Mitarbeiter, Mahnungen, Buchungen, Bestellungen, ...
    Und all diese Dinge hängen miteinander zusammen: Ein Kunde hat (im Laufe der Zeit) mehrere Bestellungen aufgegeben, jede Bestellung wurde von einem Mitarbeiter (nicht immer von demselben) bearbeitet, es wurde geliefert, Rechnungen wurden erstellt, Buchungen sind eingegangen etc. pp.

    Eine Datenverarbeitung, die solch beherrschen will, muss die Wirklichkeit getreulich nachbilden - sonst gehen am Ende Mahnungen an Mitarbeiter statt an Kunden, oder man hat Aufträge, und weiß nicht von wem, oder man hat auf einmal doppelte Kunden usw..

    Relationale Datenmodellierung ist die Grundidee, mit der die Verhältnisse zuverlässig nachgebildet werden können. Eine andere Datenmodellierung - etwa als Ordner im Dateisystem - kann das Geflecht der Zusammenhänge nicht abbilden - geht nicht.

    Lerne relationale Datenmodellierung, dann verstehst du auch im Detail, warum nicht. "Die relationale Grundidee" - einer der weiterführenden Links des gegebenen Sammel-Links.
    Hallo,

    noch eine Frage zum Thema.
    Ich habe die letzten Tage damit verbracht, mir die Vidoes und Tuts aus deinem vorherigen Post anzuschauen.

    Das Thema (DataSetOnly) ist für mich glaube ich ganz interessant.
    Doch jetzt stellt sich mir die Frage, ob die verschiedenen User (in meinem Fall sind es 3), auf ein und das selbe Dataset zugreifen können. Das müsste dann iwo auf dem Server gespeichert werden, oder?

    Danke nochmal

    Gruß Tom
    Jeder User arbeitet mit seinem eigenen aber gleichen Dataset, wenn jeder seine eigene Anwendung(Einzelanwendung) hat. Man kann die Anwendung auch auf ein Netzlaufwerk legen, wo jeder User die gleiche Anwendung(Mehrbenutzeranwendung) benutzt. Bei DatasetOnly speichert und holt man die Daten von einem .XML-File. In deinem Fall wird es das gleiche File sein...

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „VB1963“ ()

    Excel-AddIn - meine Excel-Zeit liegt 15 Jahre zurück - hat ein Excel-AddIn inzwischen Zugang zu Framework-Klassen?

    Jdfs. verfügt Excel (nach meinem veralteten Wissensstand) einfach nicht über die Möglichkeit, relational zu modellieren.
    Und auch die DB-Zugriffe via OleDb waren extrem unzuverlässig, in meinen Versuchen - scheinbar rät der OleDbProvider einfach den Datentyp, und manchmal rät er falsch.