Share via


Verbinding maken

Van toepassing op: .NET Framework .NET Standard

ADO.NET downloaden

Als u verbinding wilt maken met Microsoft SQL Server, gebruikt u het SqlConnection object van de Microsoft SqlClient-gegevensprovider voor SQL Server. Zie Verbindingsgegevens beveiligen voor het veilig opslaan en ophalen van verbindingsreeks s.

Verbindingen sluiten

U wordt aangeraden de verbinding altijd te sluiten wanneer u klaar bent met het gebruik ervan, zodat de verbinding kan worden geretourneerd naar de pool. Het Using blok in Visual Basic of C# verwijdert automatisch de verbinding wanneer de code het blok verlaat, zelfs in het geval van een niet-verwerkte uitzondering. Zie using Statement en Using Statement voor meer informatie.

U kunt ook de Close of Dispose methoden van het verbindingsobject gebruiken. Verbindingen die niet expliciet zijn gesloten, worden mogelijk niet toegevoegd of geretourneerd aan de pool. Een verbinding die buiten het bereik is gegaan, maar die niet expliciet is gesloten, wordt bijvoorbeeld alleen geretourneerd naar de verbindingsgroep als de maximale poolgrootte is bereikt en de verbinding nog steeds geldig is.

Opmerking

Roep Close of Dispose niet aan op een verbinding, een DataReader of een ander beheerd object in de Finalize methode van uw klasse. In een finalizer kunt u alleen onbeheerde resources vrijgeven die rechtstreeks eigendom zijn van uw klasse. Als uw klasse geen onbeheerde resources bezit, neemt u Finalize geen methode op in uw klassedefinitie. Zie Garbagecollection voor meer informatie.

Opmerking

Aanmeldings- en afmeldingsgebeurtenissen worden niet gegenereerd op de server wanneer een verbinding wordt opgehaald van of geretourneerd aan de verbindingsgroep, omdat de verbinding niet daadwerkelijk wordt gesloten wanneer deze wordt geretourneerd naar de verbindingsgroep. Zie SQL Server Connection Pooling (ADO.NET)voor meer informatie.

Verbinding maken met SQL Server

Zie de ConnectionString eigenschap van het SqlConnection object voor geldige tekenreeksindelingen en -waarden. U kunt de SqlConnectionStringBuilder klasse ook gebruiken om syntactisch geldige verbindingsreeks s tijdens runtime te maken. Zie Verbindingsreeksbouwers voor meer informatie.

In het volgende codevoorbeeld ziet u hoe u een verbinding met een SQL Server-database maakt en opent.

using Microsoft.Data.SqlClient;

class Program1
{
    static void Main()
    {
        string s = GetConnectionString();

        OpenSqlConnection(s);
        Console.ReadLine();
    }

    private static void OpenSqlConnection(string connectionString)
    {
        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            connection.Open();
            Console.WriteLine("ServerVersion: {0}", connection.ServerVersion);
            Console.WriteLine("State: {0}", connection.State);
        }
    }

    static private string GetConnectionString()
    {
        // To avoid storing the connection string in your code, 
        // you can retrieve it from a configuration file, using the 
        // System.Configuration.ConfigurationSettings.AppSettings property 
        return "Data Source=(local);Initial Catalog=AdventureWorks;"
            + "Integrated Security=SSPI;";
    }
}

Geïntegreerde beveiliging en ASP.NET

Geïntegreerde BEVEILIGING van SQL Server (ook wel vertrouwde verbindingen genoemd) helpt beveiliging te bieden bij het maken van verbinding met SQL Server, omdat er geen gebruikers-id en wachtwoord in de verbindingsreeks worden weergegeven. Dit is de aanbevolen methode voor het verifiëren van een verbinding. Geïntegreerde beveiliging maakt gebruik van de huidige beveiligingsidentiteit of het token van het uitvoerproces. Voor bureaubladtoepassingen is deze identiteit doorgaans de identiteit van de momenteel aangemelde gebruiker.

De beveiligingsidentiteit voor ASP.NET toepassingen kan worden ingesteld op een van de verschillende opties. Zie ASP.NET imitatie, ASP.NET verificatie en procedures voor toegang tot SQL Server met behulp van geïntegreerde Windows-beveiliging voor een beter inzicht in de beveiligingsidentiteit die een ASP.NET toepassing gebruikt.

Zie ook