Anzeige

Am Puls von Microsoft

Anzeige

Frage WPF-Anwendung mit SQL-Server

Ingfried

Herzlich willkommen
Hi NG,
ich möchte eine Win7-Anwendung in VS2010 erstellen, die auf einen SQL-Server zugreift. Dazu muss ich den SQL-Server offenbar mit ausliefern. Soweit ich das verstehe, ließe sich das mit der Express-Edition auch machen. Allerdings kann es auf einem System nur eine Express-Instanz geben. Ich kann doch aber nicht ausschließen, dass auf dem Anwender-Rechner bereits eine Instanz vorhanden ist, oder?
Habe offenbar einen Knoten im Kopf. Wer kann Licht ins Dunkel bringen?
 
Anzeige
Zum Überprüfen wäre z.B. die WMI Schnittstelle von Windows möglich. Damit kannst du im Vorfeld abfragen, welche Programme, etc vorhanden sind ... es gibt sogar ein kleines Tutorial auf den SQL Express Server zugeschnitten von Microsoft, dass sogar bereits ein Code-Beispiel in C# bereitstellt. Zu finden unter: SQL Express Server Installation erkennen
 
@Ingfried

Ich weiß ja nicht, wie viele Daten du verarbeiten musst. Vielleicht wäre in deinem Falle sogar eine SQLite Datenbank das richtige. Da müsstest du nur dafür sorgen, das die entsprechenden DLL's mit installiert werden müssten. Das ist meines Erachtens wesentlich einfacher, als einen kompletten SQL-Server zu installieren.

Hier bekommst du das entsprechende DLL-Paket, das du in VB2010 einbinden kannst: System.Data.SQLite
Hier noch ein Link zur SQLite-Hompage: http://www.sqlite.org/
 
Leider hast du nicht verraten, welches Installationsprogramm du verwenden wirst. Da es sich ja um ein Installationsproblem handelt musst du es auch dort lösen. Der Lösungsweg unterscheidet sich allerdings leicht, je nach verwendetem Tool.
Wenn du die Möglichkeit hast, Voraussetzungen für die Installation (Prerequisites) zu definieren, gibst du dort einfach die Express Edition des SQL Servers an. Ist er nicht vorhanden, wird er aus dem Internet (oder halt deinem Installationsmedium) heruntergeladen und installiert, bevor deine Installation fortfährt und deine Datenbank in das System schreibt.
Wenn dein Installationsprogramm diese Möglichkeit und auch keine ähnliche Vorgehensweise vorsieht, gehe einfach während der Installation davon aus, dass der SQL Server vorhanden ist und versuche, darin deine Datenbank einzuhängen. Ist der SQL Server nicht vorhanden bekommst du einen Fehler, den dein Installationsprogramm abfängt und zunächst den SQL Server installiert, bevor es mit der Datenbank und dem Rest deiner Anwendung fortfährt...
 
Herzlichen Dank an alle, die geantwortet haben. Das die Installationsroutine die Arbeit des Erkennens und des evtl. Nachinstallierens hat ist soweit klar. Unklar bleibt jedoch wie das strukturell von Microsoft gedacht ist. Nehmen wir an zwei Firmen liefern Software, die auf den SQL-Server greifen soll. Die erste installiert ihn und kennt damit die Zugangsdaten. Nun kommt die zweite und muss offenbar den vorhandenen Server nutzen. Noch eine Instanz geht ja nicht. Doch wie soll das ohne Kenntnis des Rechtesystems funktionieren? Das ist der Knoten im Kopf!
 
Hallo Ingfried,

  • Bei einem SQL-Server gibt es in der Regel jemanden, der über Administrative Berechtigungen verfügt, und damit die Benutzer/Kennwörter kennt.
  • Neue Anwendung heißt in der Regel auch neue Datenbank, so machen es die meissten.
  • Es ist durchaus möglich, für jede DB einen eigenen Benutzer anzulegen(Sei es auf dem Rechner, und/oder im SQL-Server. Würde ich so machen, damit Zugriffe eindeutig nachvollziehbar sind.
 
Anzeige
Oben