Dela via


Upprätta en anslutning

Om du vill ansluta till Microsoft SQL Server använder du SqlConnection objektet för .NET Framework Data Provider för SQL Server. Om du vill ansluta till en OLE DB-datakälla använder du OleDbConnection objektet för .NET Framework-dataprovidern för OLE DB. Om du vill ansluta till en ODBC-datakälla använder du OdbcConnection objektet för .NET Framework-dataprovidern för ODBC. Om du vill ansluta till en Oracle-datakälla använder du OracleConnection objektet för .NET Framework-dataprovidern för Oracle. Information om hur du lagrar och hämtar niska veze på ett säkert sätt finns i Skydda anslutningsinformation.

Stänga anslutningar

Vi rekommenderar att du alltid stänger anslutningen när du är klar med den, så att anslutningen kan returneras till poolen. Blocket Using i Visual Basic eller C# tar automatiskt bort anslutningen när koden avslutar blocket, även om det finns ett ohanterat undantag. Mer using information finns i instruktionen och Using instruktionen .

Du kan också använda Close metoderna eller Dispose för anslutningsobjektet för den provider som du använder. Anslutningar som inte är uttryckligen stängda kanske inte läggs till eller returneras till poolen. En anslutning som har gått utanför omfånget men som inte uttryckligen har stängts returneras till anslutningspoolen om den maximala poolstorleken har nåtts och anslutningen fortfarande är giltig. Mer information finns i OLE DB, ODBC och Oracle-anslutningspooler.

Kommentar

Anropa Close inte eller Dispose på en anslutning, en DataReader eller något annat hanterat objekt i -metoden för Finalize din klass. I en finalizer släpper du bara ohanterade resurser som klassen äger direkt. Om klassen inte äger några ohanterade resurser ska du inte inkludera någon Finalize metod i din klassdefinition. Mer information finns i Skräpinsamling.

Kommentar

Inloggnings- och utloggningshändelser aktiveras inte på servern när en anslutning hämtas från eller returneras till anslutningspoolen, eftersom anslutningen inte är stängd när den returneras till anslutningspoolen. Mer information finns i SQL Server-anslutningspooler (ADO.NET).

Anslut till SQL Server

.NET Framework-dataprovidern för SQL Server stöder ett niska veze format som liknar OLE DB -niska veze format. Giltiga namn och värden för strängformat finns i ConnectionString objektets SqlConnection egenskap. Du kan också använda SqlConnectionStringBuilder klassen för att skapa syntaktiskt giltiga niska veze vid körning. Mer information finns i Anslutningssträngsbyggare.

Följande kodexempel visar hur du skapar och öppnar en anslutning till en SQL Server-databas.

' Assumes connectionString is a valid connection string.
Using connection As New SqlConnection(connectionString)
    connection.Open()
    ' Do work here.
End Using
// Assumes connectionString is a valid connection string.
using (SqlConnection connection = new SqlConnection(connectionString))
{
    connection.Open();
    // Do work here.
}

Integrerad säkerhet och ASP.NET

SQL Server-integrerad säkerhet (även kallat betrodda anslutningar) hjälper till att ge skydd vid anslutning till SQL Server eftersom det inte exponerar ett användar-ID och lösenord i niska veze och är den rekommenderade metoden för att autentisera en anslutning. Integrerad säkerhet använder den aktuella säkerhetsidentiteten, eller token, för körningsprocessen. För skrivbordsprogram är detta vanligtvis identiteten för den inloggade användaren.

Säkerhetsidentiteten för ASP.NET program kan anges till ett av flera olika alternativ. Mer information om säkerhetsidentiteten som ett ASP.NET program använder när du ansluter till SQL Server finns i ASP.NET Personifiering, ASP.NET-autentisering och Så här använder du SQL Server med windows-integrerad säkerhet.

Ansluta till en OLE DB-datakälla

.NET Framework-dataprovidern för OLE DB tillhandahåller anslutning till datakällor som exponeras med hjälp av OLE DB (via SQLOLEDB, OLE DB-providern för SQL Server) med oledbConnection-objektet.

För .NET Framework-dataprovidern för OLE DB är niska veze-formatet identiskt med det niska veze format som används i ADO, med följande undantag:

  • Nyckelordet Provider krävs.

  • Nyckelorden URL, fjärrprovider och fjärrserver stöds inte.

Mer information om OLE DB-niska veze finns i artcilenConnectionString. Du kan också använda OleDbConnectionStringBuilder för att skapa niska veze vid körning.

Kommentar

OleDbConnection-objektet stöder inte inställning eller hämtning av dynamiska egenskaper som är specifika för en OLE DB-provider. Endast egenskaper som kan skickas i niska veze för OLE DB-providern stöds.

I följande kodexempel visas hur du skapar och öppnar en anslutning till en OLE DB-datakälla.

' Assumes connectionString is a valid connection string.
Using connection As New OleDbConnection(connectionString)
    connection.Open()
    ' Do work here.
End Using
// Assumes connectionString is a valid connection string.
using (OleDbConnection connection =
  new OleDbConnection(connectionString))
{
    connection.Open();
    // Do work here.
}

Det är möjligt att ange anslutningsinformation för en OleDbConnection i en UDL-fil (Universal Data Link), men du bör undvika att göra det. UDL-filer krypteras inte och exponerar niska veze information i klartext. Eftersom en UDL-fil är en extern filbaserad resurs i ditt program kan den inte skyddas med hjälp av .NET Framework.

Ansluta till en ODBC-datakälla

.NET Framework-dataprovidern för ODBC tillhandahåller anslutning till datakällor som exponeras med ODBC med hjälp av OdbcConnection-objektet .

För .NET Framework-dataprovidern för ODBC är niska veze-formatet utformat för att matcha ODBC-niska veze format så nära som möjligt. Du kan också ange ett ODBC-datakällnamn (DSN). Mer information om OdbcConnection finns i OdbcConnection.

Följande kodexempel visar hur du skapar och öppnar en anslutning till en ODBC-datakälla.

' Assumes connectionString is a valid connection string.
Using connection As New OdbcConnection(connectionString)
    connection.Open()
    ' Do work here.
End Using
// Assumes connectionString is a valid connection string.
using (OdbcConnection connection =
  new OdbcConnection(connectionString))
{
    connection.Open();
    // Do work here.
}

Ansluta till en Oracle-datakälla

.NET Framework-dataprovidern för Oracle tillhandahåller anslutning till Oracle-datakällor med hjälp av OracleConnection-objektet .

För .NET Framework-dataprovidern för Oracle är niska veze-formatet utformat för att matcha OLE DB-providern för Oracle (MSDAORA) niska veze format så nära som möjligt. Mer information om OracleConnection finns i OracleConnection.

I följande kodexempel visas hur du skapar och öppnar en anslutning till en Oracle-datakälla.

' Assumes connectionString is a valid connection string.
Using connection As New OracleConnection(connectionString)
    connection.Open()
    ' Do work here.
End Using
// Assumes connectionString is a valid connection string.
using (OracleConnection connection =
  new OracleConnection(connectionString))
{
    connection.Open();
    // Do work here.
}

Se även