Offline Datenbank für Loginsystem

  • VB.NET

Es gibt 12 Antworten in diesem Thema. Der letzte Beitrag () ist von SeySey.

    Offline Datenbank für Loginsystem

    Hei,

    ich suche eine offline Datenbank (Sollte einfach immer im Verzeichnis der EXE sein), um ein Loginsystem zu erstellen (lokal).
    SQLite und die Access Datenbank funktionieren nicht, ich suche eine Alternative.

    Lg ~
    Willst du das Loginsystem auf deinem eigenen rechner hosten um es zu testen ??
    Wenn dus nur testen willst versuchs mit XAMPP oder wie sich das teil nennt dann kannst dus mit MySQL machen

    Schau mal ob du Hierwas findest.

    Ich habe mal Google gefragt da ich zwar auch mit Offline Datenbanken arbeite aber mehr mit MySQL

    MySQL kann auch Offline arbeiten. Also einfach XAMPP installieren und mysQl sowie apache starten und dann kannst du dich einloggen wenn du "localhost" im Browser eingibst. Bei VB dann einfach Server ID: localhost oder 127.0.0.1 und dann benutzername is root und standartmässig kein Passwort
    Oder du verwendest eine SqlCompact Datenbank, lässt sich genau gleich verwenden wie eine normale Sql Datenbank ist aber Filebasiert, also du hast eine .sdf datei im Verzeichnis liegen.
    Einziger Nachteil, die SqlCe Datenbank ist NICHT Netzwerkfähig, also es kann immer nur ein Benutzer darauf zugreifen, was aber in deinem Fall kein Problem sein sollte.

    lg.

    LucaWelker
    lg.

    LucaWelker

    SeySey schrieb:


    SQLite und die Access Datenbank funktionieren nicht, ich suche eine Alternative.


    Wieso funktionieren die bei Dir nicht? Denn an sich sollte Dein Problem mit einer der beiden Varianten doch zu lösen sein und beide Varianten arbeiten auch problemlos mit VB.NET zusammen.

    Gruß

    Rainer

    raist10 schrieb:

    SeySey schrieb:


    SQLite und die Access Datenbank funktionieren nicht, ich suche eine Alternative.


    Wieso funktionieren die bei Dir nicht? Denn an sich sollte Dein Problem mit einer der beiden Varianten doch zu lösen sein und beide Varianten arbeiten auch problemlos mit VB.NET zusammen.

    Gruß

    Rainer

    Als ich SQLite installiert hatte, konnte ich nicht mehr debuggen.
    Und wenn ich mit der Access Datenbank arbeiten will, erscheint eine Fehlermeldung, dass eine DLL fehlt.

    Ich schau mir gleich mal die Links an.
    @ SeySey


    Als ich SQLite installiert hatte, konnte ich nicht mehr debuggen.


    Öhem ... SQlite wird nicht installiert. Das ist eine Single-File-DB. Im Prinzip setzt Du den Verweis (empfehle hier als lokale Kopie) die Dll System.Data.SQLite (Donwload: sourceforge.net/projects/sqlite-dotnet2/) und hast damit die komplette Maschinerie die Du brauchst. Hilfe zu SQLite bekommst Du hier: sqlite.org/.

    Es gibt ein gutes FireFox-Addon (code.google.com/p/sqlite-manager/) mit dem Du Datenbank-Files anlegen und bearbeiten kannst, musst das also nicht unbedingt über die Dll machen ... wobei die paar Create-Anweisungen für die DB und das Table mit den Infos sind ja jetzt auch nicht wirklich das Thema.

    Die Verbindung zu einem existierenden Datenbank-File ist mehr als easy, hier mal ein einfaches Beispiel für eine Connection-Klasse (jetzt nur als Grobprinzip und aus dem Bauch raus):

    VB.NET-Quellcode

    1. Public Class SQLiteConnection
    2. Private sLite As System.Data.SQLite.SQLiteConnection
    3. Public Sub New(ByVal strMeineDatenbank As String, Optional ByVal strMeinPasswort As String = "")
    4. sLite = New System.Data.SQLite.SQLiteConnection
    5. With sLite
    6. .ConnectionString = "Data Source=" & strMeineDatenbank & ";"
    7. if strMeinPasswort.Length > 0 then
    8. .SetPassword = strMeinPasswort
    9. End if
    10. .Open()
    11. End With
    12. End Sub
    13. End Class


    Wobei die Variable strMeineDatenbank den kompletten Pfad zum DB-File inkludiert haben muss.

    Das war's für die Verbindung. Für den Zugriff auf die Verbindung würde ich einfach eine ReadOnly-Property einbauen und Feierabend.

    Du musst nur für korrekte Schließung und Dispose sorgen wenn du die Verbindung nicht mehr brauchst (implementiere in die Klasse für die Connection einfach eine IDisposable-Schnittstelle):

    VB.NET-Quellcode

    1. sLite.close()
    2. sLite.Dispose()
    3. sLite = nothing ' okay, nicht wirklich nötig aber habs halt so noch gelernt ^^


    Für die Zugriffe hast Du ein Command-Objektmodell, ein Paramter-Objektmodell und ein Reader-Objektmodell zur Verfügung die allesamt einfach und easy nutzbar sind.


    Und wenn ich mit der Access Datenbank arbeiten will, erscheint eine Fehlermeldung, dass eine DLL fehlt.


    Wie hast Du denn versucht auf die Access-DB zu zu greifen?

    Gruß

    Rainer

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