SQL Datenbank auf Zielsystem nicht lesbar.

  • VB.NET
  • .NET 4.0

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von EaranMaleasi.

    SQL Datenbank auf Zielsystem nicht lesbar.

    Hallo,
    ich bin mir Sicher, dass ihr mir schnell weiterhelfen könnt.

    Ich hatte in der kostenlosen Visualstudio Version vor einiger Zeit ein Programm entwickelt, welches eine .sdf Datenbank Datei verwendet. Jetzt habe ich Visual Studio 2013 und diese Version kommt nicht mehr mit dem SQlServerCe zurecht, bzw konnte diese Datei nicht mehr geöffnet werden.
    Also habe ich aus meiner Datei eine .mdf Datei gemacht.
    Auf meinem Rechner funktioniert auch alles soweit, aber wenn ich daraus nun eine Setup mache und die auf meinem Laptop installiere bekomme ich eine Fehlermeldung sobald auf die DB zugegriffen werden soll:


    Ich bin irgendwie etwas überfordert damit, was demm dem Programm jetzt fehlt oder was ich auf dem Zielrechner noch machen muss :\
    Bilder
    • Unbenannt.PNG

      31,31 kB, 451×404, 285 mal angesehen
    Laut der Fehlermeldung kann nicht auf die DB zugegriffen werden, die in Deinem Projekt fest hinterlegt ist. Sicher, dass der identische Zugriff auf eine DB auf Deinem Laptop möglich ist? Teste das erstmal mit einem Dummyprogramm.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Häufig von mir verwendete Abkürzungen: CEs = control elements (Labels, Buttons, DGVs, ...) und tDS (typisiertes DataSet)
    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht in den Spekulatiusmodus gehen.

    Destiny schrieb:

    Also habe ich aus meiner Datei eine .mdf Datei gemacht.
    was genau heißt das? Dateiendung geändert?
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen
    Hi,

    also noch dem ich dann von hier:
    mssqltips.com/sqlservertip/269…ver-2012-express-localdb/
    die richtige SQL Express LocalDB installiert habe funktioniert es.

    Aber kann ich das nicht in mein Setupprojekt irgendwie integrieren, damit der Anwender sich nichts zusätzlich installieren muss? (Die .mdf habe ich mit einem Tool erstellt, dass mir aus der .sdf den Code zum erstellen der DB rausgibt.)

    Ein Weiteres Problem ist, dass der Ordner in dem die Datei ist Schreibgeschützt ist und ich das manuell auf Vollzugriff stellen musste. Das geht doch bestimmt schöner, hab aber nicht das richtige gefunden. (ist jetzt ein anderes Thema, aber vielleicht kann ich mir den 2.Thread sparen ;) )
    Ich weiß ja nicht was deine Anforderungen sind, aber: Wie wäre es, gar keine DB zu nutzen sondern ein DataSet? Das wird als Datei gespeichert. Das muss man nix installieren.
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen
    @Destiny: Auch wenn das jetzt redundante Infos sind: Eine DB ist eine »externe Komponente«. Klar muss die erstmal auf dem Zielcomputer installiert werden, damit sie auch ansprech- und nutzbar ist. Du könntest natürlich versuchen, sie in ein Setuppaket mit reinzupacken, sodass sie automatisch mit Deinem Programm mitinstalliert wird, aber wie mrMo schon sagt: Schau nach alternativen Datenaufbewahrungsmöglichkeiten, wenn Du das DB-Installieren Deinem User ersparen willst ― wozu ich auch raten würde, denn vielleicht will der User gar keine (zusätzliche) DB auf seinem PC haben.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Häufig von mir verwendete Abkürzungen: CEs = control elements (Labels, Buttons, DGVs, ...) und tDS (typisiertes DataSet)
    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht in den Spekulatiusmodus gehen.
    @VaporiZed Schonmal von SQLite gehört? Bestimmt. Ist auch ne DB und muss nicht beim Anwender Installiert werden.
    Post-AGB:
    §1 Mit dem Lesen dieses Posts stimmst du den AGB unverzüglich zu
    §2 Ein Widerruf muss innerhalb von 3 Sekunden nach Lesen des Hauptbestandteil des ersten jemals gelesenen Posts erfolgen
    Abs.1 Die Signatur zählt nicht zum Hauptbestandteil des Posts
    §3 Ein erfolgreicher Widerruf zwingt zu einem Besuch bei einem Hypnotiseur oder Neurochirurg, sodass der gelesene Text aus den Erinnerungen entfernt werden kann
    Abs.1 Die Kosten und Risiken sind jeweils selbst zu tragen