Kommentar
Å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 ADO.NET-dataprovider har ett Connection objekt som ärver från DbConnection samt en providerspecifik ConnectionString egenskap. Den specifika syntaxen för anslutningssträngen för varje leverantör dokumenteras i dess ConnectionString egenskap. I följande tabell visas Microsoft. Data.SqlClient och tre providrar som ingår i .NET Framework.
| Dataleverantör | beskrivning |
|---|---|
| Microsoft.Data.SqlClient | Ger dataåtkomst för Microsoft SQL Server via NuGet-paketet Microsoft.Data.SqlClient. 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
Använd reťazec pripojenia builder för din dataprovider.
- 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 syntaxen för Windows-autentisering som används med dessa 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. De flesta anslutningssträngsnyckelord kartläggs 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 inställt på false för att säkerställa att en icke betrodd källa inte har åtkomst till känslig information om anslutningssträngar.
Windows-autentisering med SqlClient
Var och en av följande syntaxformer använder Windows-autentisering för att ansluta till AdventureWorks databasen på den angivna servern.
"Persist Security Info=False;Integrated Security=true;Initial Catalog=AdventureWorks;Server=<server>;Encrypt=true"
"Persist Security Info=False;Integrated Security=SSPI;database=AdventureWorks;server=<server>;Encrypt=true"
"Persist Security Info=False;Trusted_Connection=True;database=AdventureWorks;server=<server>;Encrypt=true"
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=<server>\\<instance>;Encrypt=true;"
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 information om nyckelordet Type System Versionfinns i SqlConnection.ConnectionString .
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änd TrustServerCertificate
Med TrustServerCertificate=true, Encrypt=true krypterar du anslutningen men kringgår verifiering av servercertifikat. Behåll TrustServerCertificate=false för produktionsanslutningar och konfigurera ett verifierbart servercertifikat.
"TrustServerCertificate=true;"
Caution
Om du kringgår certifikatverifieringen kan klienten inte verifiera serverns identitet. Med Encrypt=Strict, Microsoft. Data.SqlClient verifierar alltid servercertifikatet och ignorerar TrustServerCertificate.
Aktivera kryptering
Microsoft. Data.SqlClient är som standard Encrypt=Mandatory, motsvarande Encrypt=true, och TrustServerCertificate=false. Klienten kräver kryptering och verifierar servercertifikatet. Om certifikatet inte är betrott eller inte matchar servernamnet misslyckas anslutningen.
För fjärranslutningar anger du Encrypt=true och konfigurerar ett servercertifikat som klienten litar på. Om du migrerar från System.Data.SqlClient, anta inte att dess standardinställningar för kryptering gäller för Microsoft.Data.SqlClient. Mer information finns i Kryptering och certifikatverifiering i Microsoft.Data.SqlClient.
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ängens syntax
Du måste ange ett providernamn för en OleDbConnection anslutningssträng. Följande anslutningssträng ansluter till en Microsoft Access-databas med Jet-provider. 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 angivna autentiseringsuppgifter som finns i anslutningssträngen.
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 och System.Data.Odbc .NET-datapleverantörer. 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.
Data Shape provider anslutningssträngssyntax
Använd både nyckelorden Provider och Data Provider när du använder Microsoft Data Shape provider. 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.