Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Varje .NET Framework-dataprovider har ett Connection objekt som ärver från DbConnection samt en providerspecifik ConnectionString egenskap. Den specifika anslutningssträng syntaxen för varje provider dokumenteras i dess ConnectionString egenskap. I följande tabell visas de fyra dataprovidrar som ingår i .NET Framework.
| .NET Framework-dataprovider | beskrivning |
|---|---|
| System.Data.SqlClient | Ger dataåtkomst för Microsoft SQL Server. Mer information om anslutningssträng syntax finns i ConnectionString. |
| System.Data.OleDb | Ger dataåtkomst för datakällor som exponeras med hjälp av OLE DB. Mer information om anslutningssträng syntax finns i ConnectionString. |
| System.Data.Odbc | Ger dataåtkomst för datakällor som exponeras med HJÄLP av ODBC. Mer information om anslutningssträng syntax finns i ConnectionString. |
| System.Data.OracleClient | Ger dataåtkomst för Oracle version 8.1.7 eller senare. Mer information om anslutningssträng syntax finns i ConnectionString. |
Anslutningssträngsbyggare
ADO.NET 2.0 introducerade följande anslutningssträng-byggare för .NET Framework-dataprovidrar.
- SqlConnectionStringBuilder
- OleDbConnectionStringBuilder
- OdbcConnectionStringBuilder
- OracleConnectionStringBuilder
Med anslutningssträngsbyggare kan du konstruera syntaktiskt giltiga anslutningssträngar under körning, så att du inte behöver sammanfoga värden för anslutningssträngar manuellt i koden. Mer information finns i Anslutningssträngsbyggare.
Windows-autentisering
Windows-autentisering (kallas ibland integrerad säkerhet) kan användas för att ansluta till datakällor som stöder den. Syntaxen som används i anslutningssträng varierar beroende på provider. I följande tabell visas den Windows-autentiseringssyntax som används med .NET Framework-dataprovidrar.
| Leverantör | Syntax |
|---|---|
SqlClient |
Integrated Security=true;-- or --Integrated Security=SSPI; |
OleDb |
Integrated Security=SSPI; |
Odbc |
Trusted_Connection=yes; |
OracleClient |
Integrated Security=yes; |
Kommentar
Integrated Security=true utlöser ett undantag när det används med providern OleDb .
Viktigt!
Microsoft rekommenderar att du använder det säkraste tillgängliga autentiseringsflödet. Om du ansluter till Azure SQL är hanterade identiteter för Azure-resurser den rekommenderade autentiseringsmetoden.
SqlClient-anslutningssträng
Syntaxen för en SqlConnection anslutningssträng dokumenteras i egenskapen SqlConnection.ConnectionString . Du kan använda egenskapen ConnectionString för att hämta eller ange en anslutningssträng för en SQL Server-databas. Om du behöver ansluta till en tidigare version av SQL Server måste du använda .NET Framework Data Provider för OleDb (System.Data.OleDb). De flesta anslutningssträng nyckelord mappas också till egenskaper i SqlConnectionStringBuilder.
Viktigt!
Standardinställningen för nyckelordet Persist Security Info är false. Om du ställer in den på true eller yes gör det möjligt att hämta säkerhetskänslig information, inklusive användar-ID och lösenord, från anslutningen när anslutningen har öppnats. Håll Persist Security Info dig inställd på false för att säkerställa att en ej betrodd källa inte har åtkomst till känslig anslutningssträng information.
Windows-autentisering med SqlClient
Var och en av följande syntaxformer använder Windows-autentisering för att ansluta till AdventureWorks databasen på en lokal server.
"Persist Security Info=False;Integrated Security=true;
Initial Catalog=AdventureWorks;Server=MSSQL1"
"Persist Security Info=False;Integrated Security=SSPI;
database=AdventureWorks;server=(local)"
"Persist Security Info=False;Trusted_Connection=True;
database=AdventureWorks;server=(local)"
Viktigt!
Microsoft rekommenderar att du använder det säkraste tillgängliga autentiseringsflödet. Om du ansluter till Azure SQL är hanterade identiteter för Azure-resurser den rekommenderade autentiseringsmetoden.
SQL Server-autentisering med SqlClient
Windows-autentisering rekommenderas för anslutning till SQL Server (lokalt). Om SQL Server-autentisering krävs använder du dock följande syntax för att ange ett användarnamn och lösenord. I det här exemplet används asterisker för att representera ett giltigt användarnamn och lösenord.
"Persist Security Info=False;User ID=*****;Password=*****;Initial Catalog=AdventureWorks;Server=MySqlServer"
När du ansluter till Azure SQL Database eller Till Azure SQL Data Warehouse och anger en inloggning i formatet user@servernamekontrollerar du att servername värdet i inloggningen matchar det angivna värdet för Server=.
Kommentar
Windows-autentisering har företräde framför SQL Server-inloggningar. Om du anger både Integrated Security=true användarnamn och lösenord ignoreras användarnamnet och lösenordet och Windows-autentisering används.
Viktigt!
Microsoft rekommenderar att du använder det säkraste tillgängliga autentiseringsflödet. Om du ansluter till Azure SQL är hanterade identiteter för Azure-resurser den rekommenderade autentiseringsmetoden.
Ansluta till en namngiven instans av SQL Server
Om du vill ansluta till en namngiven instans av SQL Server använder du syntaxen för servernamn\instansnamn .
"Data Source=MySqlServer\\MSSQL1;"
Du kan också ange DataSource egenskapen SqlConnectionStringBuilder för instansnamnet när du skapar en anslutningssträng. Egenskapen DataSource för ett SqlConnection objekt är skrivskyddad.
Skriv systemversionsändringar
Nyckelordet Type System Version i en SqlConnection.ConnectionString anger representationen på klientsidan av SQL Server-typer. Mer SqlConnection.ConnectionString information om nyckelordet finns i Type System Version .
Ansluta till SQL Server Express-användarinstanser
Användarinstanser är en funktion i SQL Server Express. De gör det möjligt för en användare som körs på ett lokalt Windows-konto med minst privilegier att ansluta och köra en SQL Server-databas utan att kräva administratörsbehörighet. En användarinstans körs med användarens Windows-autentiseringsuppgifter, inte som en tjänst.
Mer information om hur du arbetar med användarinstanser finns i SQL Server Express-användarinstanser.
Använda TrustServerCertificate
Nyckelordet TrustServerCertificate är endast giltigt när du ansluter till en SQL Server-instans med ett giltigt certifikat. När TrustServerCertificate är inställt på trueanvänder transportlagret SSL för att kryptera kanalen och kringgå att gå igenom certifikatkedjan för att verifiera förtroendet.
"TrustServerCertificate=true;"
Kommentar
Om TrustServerCertificate är inställt true på och kryptering är aktiverat används den krypteringsnivå som anges på servern även om Encrypt den är inställd false på i anslutningssträng. Anslutningen misslyckas annars.
Aktivera kryptering
Om du vill aktivera kryptering när ett certifikat inte har etablerats på servern måste alternativen Force Protocol Encryption och Trust Server Certificate anges i Konfigurationshanteraren för SQL Server. I det här fallet använder kryptering ett självsignerat servercertifikat utan validering om inget verifierbart certifikat har etablerats på servern.
Programinställningar kan inte minska den säkerhetsnivå som konfigurerats i SQL Server, men kan eventuellt stärka den. Ett program kan begära kryptering genom att ange nyckelorden TrustServerCertificate och Encrypt till true, vilket garanterar att kryptering sker även när ett servercertifikat inte har etablerats och Force Protocol Encryption inte har konfigurerats för klienten. Men om TrustServerCertificate det inte är aktiverat i klientkonfigurationen krävs fortfarande ett etablerat servercertifikat.
I följande tabell beskrivs alla fall.
| Tvinga protokollkrypteringsklientinställning | Klientinställning för betrodd servercertifikat | Kryptera/använda kryptering för data anslutningssträng/attribut | Betrodd servercertifikat anslutningssträng/attribut | Resultat |
|---|---|---|---|---|
| Nej | Ej tillämpligt | Nej (standard) | Har ignorerats | Ingen kryptering sker. |
| Nej | Ej tillämpligt | Ja | Nej (standard) | Kryptering sker endast om det finns ett verifierbart servercertifikat, annars misslyckas anslutningsförsöket. |
| Nej | Ej tillämpligt | Ja | Ja | Kryptering sker alltid, men kan använda ett självsignerat servercertifikat. |
| Ja | Nej | Har ignorerats | Har ignorerats | Kryptering sker endast om det finns ett verifierbart servercertifikat. annars misslyckas anslutningsförsöket. |
| Ja | Ja | Nej (standard) | Har ignorerats | Kryptering sker alltid, men kan använda ett självsignerat servercertifikat. |
| Ja | Ja | Ja | Nej (standard) | Kryptering sker endast om det finns ett verifierbart servercertifikat. annars misslyckas anslutningsförsöket. |
| Ja | Ja | Ja | Ja | Kryptering sker alltid, men kan använda ett självsignerat servercertifikat. |
Mer information finns i Använda kryptering utan validering.
OleDb-anslutningssträng
Med ConnectionString egenskapen för en OleDbConnection kan du hämta eller ange en anslutningssträng för en OLE DB-datakälla, till exempel Microsoft Access. Du kan också skapa en OleDb anslutningssträng vid körning med hjälp av OleDbConnectionStringBuilder-klassen.
OleDb anslutningssträng syntax
Du måste ange ett providernamn för en OleDbConnection anslutningssträng. Följande anslutningssträng ansluter till en Microsoft Access-databas med jetprovidern. Observera att nyckelorden User ID och Password är valfria om databasen är oskyddad (standard).
Provider=Microsoft.Jet.OLEDB.4.0; Data Source=d:\Northwind.mdb;User ID=Admin;Password=;
Om Jet-databasen skyddas med hjälp av säkerhet på användarnivå måste du ange platsen för arbetsgruppsinformationsfilen (.mdw). Informationsfilen för arbetsgrupp används för att verifiera de autentiseringsuppgifter som visas i anslutningssträng.
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\Northwind.mdb;Jet OLEDB:System Database=d:\NorthwindSystem.mdw;User ID=*****;Password=*****;
Viktigt!
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 anslutningssträng information i klartext. Eftersom en UDL-fil är en extern filbaserad resurs för ditt program kan den inte skyddas med hjälp av .NET Framework. UDL-filer stöds inte för SqlClient.
Viktigt!
Microsoft rekommenderar att du använder det säkraste tillgängliga autentiseringsflödet. Om du ansluter till Azure SQL är hanterade identiteter för Azure-resurser den rekommenderade autentiseringsmetoden.
Använda DataDirectory för att ansluta till Access/Jet
DataDirectory är inte exklusivt för SqlClient. Det kan också användas med System.Data.OleDb .NET-dataprovidrar och System.Data.Odbc . Följande exempelsträng OleDbConnection visar den syntax som krävs för att ansluta till Northwind.mdb som finns i programmets app_data mapp. Systemdatabasen (System.mdw) lagras också på den platsen.
"Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=|DataDirectory|\Northwind.mdb;
Jet OLEDB:System Database=|DataDirectory|\System.mdw;"
Viktigt!
Det krävs inte att du anger platsen för systemdatabasen i anslutningssträng om Access/Jet-databasen är oskyddad. Säkerheten är inaktiverad som standard, där alla användare ansluter som den inbyggda administratörsanvändaren med ett tomt lösenord. Även när säkerhet på användarnivå implementeras korrekt är en Jet-databas fortfarande sårbar för angrepp. Därför rekommenderas inte lagring av känslig information i en Access/Jet-databas på grund av den inneboende svagheten i dess filbaserade säkerhetsschema.
Ansluta till Excel
Microsoft Jet-providern används för att ansluta till en Excel-arbetsbok. I följande anslutningssträng anger nyckelordet Extended Properties egenskaper som är specifika för Excel. "HDR=Yes;" anger att den första raden innehåller kolumnnamn, inte data, och "IMEX=1;" instruerar drivrutinen att alltid läsa "blandade" datakolumner som text.
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\MyExcel.xls;Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1""
Observera att det dubbla citattecken som krävs för Extended Properties måste också omges av dubbla citattecken.
Dataformprovider anslutningssträng syntax
Använd både nyckelorden ProviderData Provider och när du använder Microsoft Data Shape-providern. I följande exempel används Formprovidern för att ansluta till en lokal instans av SQL Server.
"Provider=MSDataShape;Data Provider=SQLOLEDB;Data Source=(local);Initial Catalog=pubs;Integrated Security=SSPI;"
Viktigt!
Microsoft rekommenderar att du använder det säkraste tillgängliga autentiseringsflödet. Om du ansluter till Azure SQL är hanterade identiteter för Azure-resurser den rekommenderade autentiseringsmetoden.
Odbc anslutningssträng
Med ConnectionString egenskapen för en OdbcConnection kan du hämta eller ange en anslutningssträng för en OLE DB-datakälla. Odbc-anslutningssträng stöds också av OdbcConnectionStringBuilder.
Följande anslutningssträng använder Microsoft Text Driver.
Driver={Microsoft Text Driver (*.txt; *.csv)};DBQ=d:\bin
Oracle-anslutningssträng
Med ConnectionString egenskapen för en OracleConnection kan du hämta eller ange en anslutningssträng för en OLE DB-datakälla. Oracle-anslutningssträng stöds också av OracleConnectionStringBuilder .
Data Source=Oracle9i;User ID=*****;Password=*****;
Mer information om ODBC-anslutningssträng syntax finns i ConnectionString.
Viktigt!
Microsoft rekommenderar att du använder det säkraste tillgängliga autentiseringsflödet. Om du ansluter till Azure SQL är hanterade identiteter för Azure-resurser den rekommenderade autentiseringsmetoden.