Prüfen ob SQL Server Compact installiert ist!

  • VB.NET
  • .NET (FX) 1.0–2.0

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von cl10k.

    Prüfen ob SQL Server Compact installiert ist!

    Moin! :)
    Ich habe eine kleine Microsoft SQL Server Compact Datenbankanwendung erstellt.
    Wenn ich diese auf einem Computer starte, der kein Compact SQL installiert hat, erscheint eine Fehlermeldung!
    Ich möchte nun einen sinvollen Code, um zu überprüfen ob es bereits installiert ist.
    Kann mann auch direkt prüfen ob der Namenspace System.Data.SqlServerCe vorhanden ist?
    BIG THX

    VB.NET-Quellcode

    1. If System.IO.Directory.Exists("C:\Program Files (x86)\Microsoft SQL Server Compact Edition\v3.5") Then
    2. MessageBox.Show("SQL installiert!")
    3. Else
    4. MessageBox.Show("SQL NICHT installiert!")
    5. End If
    Visual Basic.NET 8o
    MS-SQL
    8o
    Ich habe nun einen Lösungsweg gefunden.
    Ob aber die Lösung sauber ist und sinnvoll, weiß ich nicht.
    Schaut euch den Code bitte mal an.
    Wenn die Sub aufgerufen wird, werden die zwei Variablen deklariert, conn_test & cmd_test.
    Falls dies nicht erfolgreich war,
    wird eine Fehlermeldung ausgegeben,
    und das Programm geschlossen.
    :rolleyes:

    VB.NET-Quellcode

    1. Private Sub Ist_SQL_Installiert()
    2. ' Prüfen ob MS-SQL Compact installiert ist...
    3. Try
    4. Dim conn_test As New SqlCeConnection
    5. Dim cmd_test As New SqlCeCommand
    6. Catch
    7. ' Falls Nein Fehlermeldung erzeugen!
    8. MessageBox.Show("Bitte installieren Sie MS-SQL Server Compact 3.5." _
    9. , Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Warning)
    10. Application.Exit()
    11. End Try
    12. End Sub
    Visual Basic.NET 8o
    MS-SQL
    8o
    Haste das auch getestet auf einem Rechner ohne SqlCompact?

    Weil 1) dachte ich, SqlCe ist Bestandteil des Frameworks,

    und 2) denke ich, dass du da Überraschungen erleben wirst, denn in einer Umgebung ohne SqlCe dürfte das nicht kompilieren.
    Aber ich weiß nicht, was passiert, wenn man ein Kompilat auf Rechner verteilt, denen Teil-Bibliotheken fehlen, also wenn man Kompilate verteilt, deren Sources eiglich nicht kompilierbar ist.
    @ErfinderDesRades
    Vielen Dank, für deine Antwort.

    1)
    Ich dachte auch das SqlCe ist Bestandteil des Frameworks ist, und deshalb funktunieren sollte.
    Aber leider, scheint das nicht so!
    Auf dem Computer befindet sich .NET Framework(Windows 8.1 Pro).
    Erst nach dem installieren von SSCERuntime-DEU.exe(Microsoft SQL Server Compact 3.5),
    kann ich auf die Datenbank zugreifen.

    2)
    Ich werde nur mit einem Computer der SqlCe installiert hat, das Projekt kompilieren.

    Sonstiges)
    Ich habe gerade gesehen das es bereits Microsoft SQL Server Compact 4.0 gibt, ist es sinvoll dieses zu verwenden?
    Was sind die Unterschiede? ?(
    Visual Basic.NET 8o
    MS-SQL
    8o

    Cheffboss schrieb:

    Ich werde nur mit einem Computer der SqlCe installiert hat, das Projekt kompilieren.
    Das ist halt, was zu testen wäre - ob so eine Exe dann auf einem Rechner läuft, wo's kein SqlCe gibt - ich weiß es nicht.

    Zu Unterschiede SqlCe3.5 und 4.0 weiß ich auch nix genaues. Wenn ich mich recht erinnere, machte 3.5 Probleme mit meine DbExtensions, mit 4.0 gings dann aber.