Wie kann ich unter .NET eine Verbindung zum SQL Server herstellen?

Veröffentlicht: 27. Jul 2007

Lösung

Mit dem Connection-Objekt von ADO.NET

Zunächst müssen Sie eine Entwicklungsumgebung für .NET besitzen und installieren. Besonders einfach kann dies mit den Express Versionen des Visual Studios, die kostenlos verfügbar sind, realisiert werden. Sie können diese Express Versionen unter http://www.microsoft.com/germany/msdn/vstudio/products/express/default.mspx herunterladen. Die Beispiele benutzen VB.NET

Dim conString As String
        'conString = "Server=BEVPC\SQLExpress;database=MSDNSolve;Integrated Security=true"
        conString = "Server=BEVPC\SQLExpress;database=MSDNSolve;User ID=User1;Pwd=Password1+;Application Name=MyApp"
        Dim con As SqlConnection = Nothing
        Try
            con = New SqlConnection(conString)
            con.Open()
            MessageBox.Show("Offen")

        Catch ex As Exception
            MessageBox.Show(ex.Message)
        Finally
            If con.State <> ConnectionState.Closed Then con.Close()
        End Try
        con.Dispose()        
      

Oben sehen Sie auskommentiert einen ConnectionString der die integrierte Sicherheit benutzt (Integrated Security=true). Der Aktive ConnectionString meldet sich über SQL am SQL Server an.

Alle Zugriffe auf Datenbankobjekte sollten in Try Catch Blöcke gekapselt werden, da bei einer Datenbank immer unvorhergesehene Vorgänge auftreten können (Server, Datenbank nicht verfügbar etc.). Die Methode Close schließt die Verbindung aus Sicht von ADO.NET, d.h. Sie können sie danach nicht mehr benutzen (bis Sie sie wieder öffnen). Auf der Datenbank werden Sie aber ein Shared Lock (eine nicht exklusive Sperre) bemerken, das ADO.NET die Verbindung auf dem SQL Server nicht schließt, sondern in einen Pool zurückstellt. Die Eigenschaft ConnectionState gibt Auskunft über den augenblicklichen Zustand.

Dispose schließt die Verbindung auch auf der Datenbank.

Herstellen von Verbindungen zu Datenquellen:
http://msdn2.microsoft.com/de-de/library/32c5dh3b(VS.80).aspx

SqlConnection-Klasse
http://msdn2.microsoft.com/de-de/library/system.data.sqlclient.sqlconnection(VS.80).aspx

Verbinden und Abrufen von Daten mit ADO.NET
http://msdn2.microsoft.com/de-de/library/ms254937(VS.80).aspx

Fragen?

Im Blog: http://blogs.sqlserverfaq.de oder an droege@beconstructed.de