Dataset XML Datei mehrere User

  • VB.NET

Es gibt 32 Antworten in diesem Thema. Der letzte Beitrag () ist von tragl.

    Dataset XML Datei mehrere User

    Hallo Zusammen,
    dank dem Forum bin ich ein ganzes Stück weiter gekommen.
    Da die Firma mir bestimmt kein SQl Server erlaubt.
    Kann ich irgendwie die Daten die ich einer APP habe ( im Moment werden die Daten in einer xml Datei gespeichert ) Multi User fähig machen ?

    Die Daten die Bearbeitet werden sind Überschaubar.

    Danke euch.

    *Topic verschoben*

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()

    Wird nicht gehen, ich stand vor dem gleichen Problem. Ich nutz aktuell eine Access-Datenbank auf einem Netzlaufwerk, bis mir unsere IT einen SQL-Server zur Verfügung stellt.
    "Na, wie ist das Wetter bei dir?"
    "Caps Lock."
    "Hä?"
    "Shift ohne Ende!" :thumbsup:

    Vulferin schrieb:

    Da die Firma mir bestimmt kein SQl Server erlaubt.
    Lass Dir von Deiner Firma eine Alternative anbieten.
    Ist das Teil Deiner Arbeitsaufgabe?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Dann habe ich eine Frage,
    ob die Firma das von mir Erwartet oder nicht, spielt ja weniger die Rolle :)

    Wir wäre es wenn ich eine Access Datenbank dazu nehme ?
    Habe irgendwo gesehen, das diese zu nutzen wäre ?
    Wäre ich damit Multiuser fähig ?

    Dann müsste ich halt nur suchen wie ich die Daten da reinschreibe, lese und bearbeite usw.
    Von wie vielen Benutzern reden wir hier?
    Bei 1-5 Benutzern würde Access gehen, aber da gibts seit Jahren immer wieder Probleme wenn Microsoft mal ein Office Update versemmelt und dann 4 Wochen braucht, um das zu reparieren.
    Davon abgesehen ist Access einfach nicht mehr zeitgemäß.

    Frag bei der IT/Chefetage nach, ob die dir dafür einen kleinen PC als SQL Server (Express reicht ja) hinstellen. Von den Kosten brauchen wir gar nicht erst reden.
    Ich bastel gerade mit der Internen Datenbank rum.
    Wäre diese Multiuser möglich ?
    Unser IT ist undiskutable.
    Wir versuchen mit der App eine Insellösung zu Bilden.

    Ich habe eine Interne mdf erstellt.
    Diese an ein Datagrid gebunden, aber irgendwie speichert er die Daten nicht ab.

    Könnt ihr mir da helfen ?
    Oder ist das auch nur eine Sinlge Lösung ?
    Access funktioniert "relativ" gut wenn's nur ne handvoll User sind. Ich hatte aber gerade in den letzten Wochen öfter das
    Problem, dass sich die Datenbank angeblich in inkonsistentem Zustand befindet. Programmier deine Anwendung erstmal mit DataSet/XML aus,
    die Datenbank kannste dann später "dranheften". Der User @ErfinderDesRades hat da ne schicke Programmierarbeit geleistet, welche
    dir eigentlich die komplette Arbeit für's Speichern/Laden etc. abnimmt. Dazu gibt's Lesestoff:
    hier und hier ist die Persistance.

    Wie gesagt, lauffähig ausprogrammieren und erstmal alleine testen. Dann Datenbank dranheften und mit einer weiteren Person testen.
    Als Tip noch: Schreib dein Programm in x86 und nimm die alte Variante von Access:
    Dim sCon = $"Provider=Microsoft.Jet.OLEDB.4.0;Data Source={DEINE DATENBANKDATEI};Jet OLEDB:Database Password={DATENBANKPASSWORT}", das ist dann im .accdb-Format.
    Hat den Vorteil, dass du keine Runtimes auf den Rechnern installieren musst (was vermutlich auch eure IT machen müsste), denn OLEDB ist mit Windows vorinstalliert ;)
    "Na, wie ist das Wetter bei dir?"
    "Caps Lock."
    "Hä?"
    "Shift ohne Ende!" :thumbsup:

    Vulferin schrieb:

    ob die Firma das von mir Erwartet oder nicht, spielt ja weniger die Rolle
    Wir lösen Dein Problem und Du wirst dafür bezahlt.
    Da dürfen wir doch ein paar mehr Informationen erwarten.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @RodFromGermany
    So habe ich gar nicht nachgedacht.
    Ich bekomme nix dafür, würde auch nicht gefragt, da ich immer Mal Programmieren wollte habe ich dies zum Startanlass genommen.

    @tragl
    Danke dir für die Links.
    Werde mich Mal einlesen, da soweit alles mit den XML Datei funktioniert. Vielleicht bekomme ich das ja hin.
    Wäre Prime

    Wenn 5-6 Leute gleichzeitig Arbeiten ist das viel

    Gruss
    vulfi

    Vulferin schrieb:

    habe ich dies zum Startanlass genommen.
    OK, das ist lobenswert.
    Du könntest ein eigenes kleines Client-Sedrver-System entwerfen, der Server hält die Daten, die Du z.B. als XML anlegst.
    Deine 5-6 Leute sind die Clients, die sich beim Server anmelden und dann tun und lassen, was sie müssen.
    Zu TCP-Client-Server-Systemen findest Du bei Microseft und hier im Forum beliebig viele Beispiele.
    Allerdings rate ich Dir, bevor Du anfängst zu programmieren, erstell ein Pflichtenheft, das wir dann hier im Forum durchsprechen.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    Vulferin schrieb:

    Pflichtenheft
    Du schreibst ganz genau auf, was Dein Projekt können soll und auch was nicht.
    Je mehr Details, um so besser.
    Schreib auch auf, wie die einzelnen Punkte getestet werden können und sollen.
    Ordne ihnen Prioritäten zu. Nicht alle Punkte können Priorität 1 haben!
    Die einzelnen Punkte kannst Du zu Arbeitspaketen zusammenfassen, die gemeinsam implementiert und getestet werden.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    Konzept Multitool

    Hallo,

    so ich habe das mal nieder geschrieben und meine Multittool mal mit dran gehängt.
    Dies funktioniert mit xml bis lang gut, würde ich sagen.
    Naja bin Stolz drauf, ist nicht viel aber für mich schon schwierig gewesen.

    Freue mich auf den Austausch.
    Bitte nicht vergessen, es wird bestimmt schlimm Programmiert sein.
    Bin Anfänger und lerne aber so am besten.
    Dateien
    @Vulferin Du programmierst in .NET 6, ohne es spezifiziert zu haben.
    Wir wollten doch erst schreiben, noch nicht programmieren.
    Du verweist auf eine Datei "OIP.jpg", die nicht dem Projekt angehört.
    ====
    Wie wäre es, wenn Du nicht zug Formen anlegst, sondern eine Form mit einem TabControl?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Bin offen für alles
    Schaue mir das Thema Tabcontrol Mal an
    Das ich das nicht richtig gemacht habe, habe ich dank dem Forum ja festgestellt.

    Tabcontrol sieht gut aus, Macht das ganze was schlanker und zum nutzen besser.
    Mal sehen ob ich das Anwenden kann.

    Vielleicht könnte mir jemand ein Beispiel eine Lokalen Datenbank schicken die Multiuser fähig wäre.
    Ich bekomme es einfach nicht hin, ich lege die Datenbank an, füge eine Tabelle hinzu, bekomme SIe aber dann nicht beschrieben.

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

    @Vulferin Für Datenbanken bin ich leider kein Ansprechpartner.
    Vielleicht schaut der @ErfinderDesRades mal hier vorbei.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    Vulferin schrieb:

    Vielleicht könnte mir jemand ein Beispiel eine Lokalen Datenbank schicken die Multiuser fähig wäre.

    Das hatten wir doch schon. Erst sauber mit XML und DataSet programmieren, DANACH die Datenbank dran. Dazu solltest du dich auch erstmal mit den Links befassen (besonders dem 1.) und ein Verständnis für ein relationales Datenmodell aneignen.

    Ich hab das auch alles durch, wollte auch von Anfang an mit Datenbank. Bin eines Besseren belehrt worden und froh drum. Des Weiteren musst du davon ausgehen, dass sich dein Projekt wohl weiterentwickelt. Es wird größer, es kommen
    Features und Tabellen hinzu, das musst du dann an beiden Stellen hinkriegen (DataSet UND in der Datenbank) - und dabei bedenken nicht einfach Relationen oder Tabellen zu löschen, das geht schnell in die Hose. Jo, krieg' mal ein Gefühl dafür
    (ggf. mit einer Testanwendung: -> Erstell dir mal Tabellen mit Relationen, befüll die mal mit Beispieldaten (alles XML) und lösch' dann mal eine Relation raus. -> Viel Spaß beim wiederherstellen :P )

    Und dann schau' nach, ob .NET 6.0 das richtige für dich ist. Wenn du eine "normale" Windoof-Anwendung erstellen willst, wäre .NET Framework wohl das Richtige.
    "Na, wie ist das Wetter bei dir?"
    "Caps Lock."
    "Hä?"
    "Shift ohne Ende!" :thumbsup:

    Vulferin schrieb:

    Beispiel eine Lokalen Datenbank schicken die Multiuser fähig wäre
    Das einzige was ich für deine Zwecke nehmen würde, ist SQLite.
    Die ist zumindest einigermaßen multiuserfähig und erfordert keine Installation.

    Aber, wie schon mehrfach erwähnt wurde, mach erst mal XML und stell später um, wenn damit alles sauber läuft.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --