Announcement

Collapse
No announcement yet.

Windows Anwendung + SQL Compact

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Windows Anwendung + SQL Compact

    Hi!

    Ich benutze Visual Studio 2005

    und habe bereits eine Anwendung für einen PocketPC mit einer zugehörigen SQL Mobile Datenbank. Läuft alles super.

    Jetzt möchte ich aber noch eine Windows-Anwendung schreiben mit der man auf die Datenbank (die dann auf dem Desktop vorliegt) zugreifen kann.

    Hab mir da schon 1000 Variante von SQL Mobile, SQL Server Compact und und und runtergeladen und VERSUCHT in Visual Studio in das Anwendungs-Projekt einzubinden (weiss nicht genau wie es geht), jedoch erfolglos.

    Wenn ich z.B. den Verweis auf "C:\Programme\Microsoft SQL Server Compact Edition\v3.1\DE\System.Data.SqlServerCe.dll" hinzufüge, funktioniert nix mehr.

    Vielen dank schonmal fürs lesen ;-)

  • #2
    Hallo,

    Warum brauchst du unbedingt den SQL Compact? Du koenntest fuer eine Windows App auch einfach den normalen SQL Server 2005 Express verwenden.
    Du kannst deine Datenbank als File mit deiner App ausliefern und dann mittels User Instances automatisch an den SQL Server 2005 Express attachen.

    Zum Verteilen erstellst du dir einfach ein Setup Projekt in welchem du den SQL Server 2005 Express als Voraussetzung einfuegst und fertig.

    So wuerde ich es machen.
    *-- robert.oh. --*

    Comment


    • #3
      Hallo,

      normalerweise sollte es mit der Einbindung der MS SQL Server 2005 Compact Edition keine Probleme geben (es sind mir jedenfalls bisher noch keine aufgefallen).

      Es gibt 2 prinzipiell verschiedene Wege der Installation auf dem Anwender-Rechner:

      a) ClickOnce-Bootstrapper
      • Verbindungszeichenfolge |DataDirectory|Datenbankname.sdf
      • Publish | Application Files | Data File (Auto)
      • Prerequites: SQL Server 2005 Compact (d.h. die Assemblies der Compact Edition werden zur Laufzeit direkt aus dem GAC geladen)

      b) Private Deployment
      • Prerequites für SQL Server 2005 Compact abwählen
      • Die 7 sqlce*-Assembly-DLLs aus dem Installationsverzeichns (C:\Programme\Microsoft SQL Server Compact Edition\v3.1) über den Windows Explorer in die Zwischenablage kopieren und im Solution Explorer in das Projekt kopieren. Die Eigenschaft Copy to Outputdirectory auf "Copy if newer" setzen
      • Verweis auf System.Data.SqlServerCe: Eigenschaft Copy Local = True ändern. Wenn die Anwendung dann über ClickOnce installiert wird, sind die DLLs ein Bestandteil des Anwendungsverzeichnisses.


      Die beiden Wege gelten auch dann, wenn die Anwendung nicht über ClickOnce installiert wird, sondern über das manuelle XCOPY-Deployment. Nur muss dann im Fall a) das MSI-Setup der Compact Editon unter Hauptbenutzer/Administrator-Rechten einmalig ausgeführt werden. Im Fall b) wird die Compact Edition niemals auf dem Rechner installiert, sondern als Bestandteil der Anwendung in das jeweilige Installationsverzeichnis kopiert.

      P.S: Auf dem Entwicklungsrechner wird die Compact Edition über das MSI-Setup global installiert. Die Verweise werden dann niemals über den Pfad, sondern immer nur über den Assembly-Namen aus dem GAC hinzugefügt. Im Fall b) muss die GAC-Zuordnung für das konkrete Projekt nachträglich über die Eigenschaft Copy Local geändert werden.
      Zuletzt editiert von Andreas Kosch; 16.05.2007, 10:54.

      Comment

      Working...
      X