Verbinding maken tekenreekssyntaxis

Elke .NET Framework-gegevensprovider heeft een Connection object dat wordt overgenomen van DbConnection en een providerspecifieke ConnectionString eigenschap. De specifieke verbindingsreeks syntaxis voor elke provider wordt beschreven in de ConnectionString eigenschap. De volgende tabel bevat de vier gegevensproviders die zijn opgenomen in .NET Framework.

.NET Framework-gegevensprovider Beschrijving
System.Data.SqlClient Biedt gegevenstoegang voor Microsoft SQL Server. Zie voor meer informatie over verbindingsreeks syntaxisConnectionString.
System.Data.OleDb Biedt gegevenstoegang voor gegevensbronnen die beschikbaar zijn via OLE DB. Zie voor meer informatie over verbindingsreeks syntaxisConnectionString.
System.Data.Odbc Biedt gegevenstoegang voor gegevensbronnen die beschikbaar zijn via ODBC. Zie voor meer informatie over verbindingsreeks syntaxisConnectionString.
System.Data.OracleClient Biedt gegevenstoegang voor Oracle versie 8.1.7 of hoger. Zie voor meer informatie over verbindingsreeks syntaxisConnectionString.

Verbinding maken ion String Builders

ADO.NET 2.0 heeft de volgende verbindingsreeks builders geïntroduceerd voor de .NET Framework-gegevensproviders.

Met de verbindingsreeks opbouwfuncties kunt u syntactisch geldige verbindingsreeks s maken tijdens runtime, zodat u verbindingsreeks waarden niet handmatig hoeft samen te voegen in uw code. Zie Verbinding maken ion String Builders voor meer informatie.

Windows-verificatie

U wordt aangeraden Windows-verificatie (ook wel geïntegreerde beveiliging genoemd) te gebruiken om verbinding te maken met gegevensbronnen die dit ondersteunen. De syntaxis die in de verbindingsreeks wordt gebruikt, verschilt per provider. In de volgende tabel ziet u de syntaxis van Windows-verificatie die wordt gebruikt met de .NET Framework-gegevensproviders.

Provider Syntaxis
SqlClient Integrated Security=true;

-- or --

Integrated Security=SSPI;
OleDb Integrated Security=SSPI;
Odbc Trusted_Connection=yes;
OracleClient Integrated Security=yes;

Notitie

Integrated Security=true genereert een uitzondering wanneer deze wordt gebruikt bij de OleDb provider.

SqlClient Verbinding maken ion-tekenreeksen

De syntaxis voor een SqlConnection verbindingsreeks wordt beschreven in de SqlConnection.ConnectionString eigenschap. U kunt de ConnectionString eigenschap gebruiken om een verbindingsreeks voor een SQL Server-database op te halen of in te stellen. Als u verbinding wilt maken met een eerdere versie van SQL Server, moet u de .NET Framework-gegevensprovider voor OleDb (System.Data.OleDb) gebruiken. De meeste verbindingsreeks trefwoorden worden ook toegewezen aan eigenschappen in de SqlConnectionStringBuilder.

Belangrijk

De standaardinstelling voor het Persist Security Info trefwoord is false. Als u deze true instelt of yes toestaat dat beveiligingsgevoelige gegevens, inclusief de gebruikers-id en het wachtwoord, worden verkregen via de verbinding nadat de verbinding is geopend. false Zorg Persist Security Info ervoor dat een niet-vertrouwde bron geen toegang heeft tot gevoelige verbindingsreeks informatie.

Windows-verificatie met SqlClient

Elk van de volgende vormen van syntaxis maakt gebruik van Windows-verificatie om verbinding te maken met de AdventureWorks-database op een lokale 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)"  

SQL Server-verificatie met SqlClient

Windows-verificatie heeft de voorkeur voor het maken van verbinding met SQL Server. Als SQL Server-verificatie echter vereist is, gebruikt u de volgende syntaxis om een gebruikersnaam en wachtwoord op te geven. In dit voorbeeld worden sterretjes gebruikt om een geldige gebruikersnaam en een geldig wachtwoord weer te geven.

"Persist Security Info=False;User ID=*****;Password=*****;Initial Catalog=AdventureWorks;Server=MySqlServer"  

Wanneer u verbinding maakt met Azure SQL Database of met Azure SQL Data Warehouse en een aanmelding in de indeling user@servernameopgeeft, moet u ervoor zorgen dat de servername waarde in de aanmelding overeenkomt met de opgegeven Server=waarde.

Notitie

Windows-verificatie heeft voorrang op SQL Server-aanmeldingen. Als u zowel Integrated Security=true als een gebruikersnaam en wachtwoord opgeeft, worden de gebruikersnaam en het wachtwoord genegeerd en wordt Windows-verificatie gebruikt.

Verbinding maken naar een benoemd exemplaar van SQL Server

Als u verbinding wilt maken met een benoemd exemplaar van SQL Server, gebruikt u de syntaxis van de servernaam\instantienaam .

"Data Source=MySqlServer\\MSSQL1;"  

U kunt ook de DataSource eigenschap van de instantie instellen op de naam van het SqlConnectionStringBuilder exemplaar bij het bouwen van een verbindingsreeks. De DataSource eigenschap van een SqlConnection object heeft het kenmerk Alleen-lezen.

Systeemversiewijzigingen typen

Het Type System Version trefwoord in een SqlConnection.ConnectionString geeft de weergave aan de clientzijde van SQL Server-typen op. Zie SqlConnection.ConnectionString voor meer informatie over het Type System Version trefwoord.

Verbinding maken en koppelen aan SQL Server Express-gebruikersexemplaren

Gebruikersexemplaren zijn een functie in SQL Server Express. Ze stellen een gebruiker die wordt uitgevoerd op een lokaal Windows-account met minimale bevoegdheden toe om een SQL Server-database te koppelen en uit te voeren zonder beheerdersbevoegdheden. Een gebruikersexemplaren worden uitgevoerd met de Windows-referenties van de gebruiker, niet als een service.

Zie SQL Server Express User Instances voor meer informatie over het werken met gebruikersexemplaren.

TrustServerCertificate gebruiken

Het TrustServerCertificate trefwoord is alleen geldig wanneer u verbinding maakt met een SQL Server-exemplaar met een geldig certificaat. Wanneer TrustServerCertificate dit is ingesteld true, gebruikt de transportlaag SSL om het kanaal te versleutelen en de certificaatketen te omzeilen om de vertrouwensrelatie te valideren.

"TrustServerCertificate=true;"

Notitie

Als TrustServerCertificate dit is ingesteld true op en versleuteling is ingeschakeld, wordt het versleutelingsniveau dat op de server is opgegeven, gebruikt, zelfs als Encrypt dit is ingesteld false op in de verbindingsreeks. De verbinding mislukt anders.

Versleuteling inschakelen

Als u versleuteling wilt inschakelen wanneer een certificaat niet is ingericht op de server, moeten de opties force protocolversleuteling en vertrouwensservercertificaat worden ingesteld in SQL Server Configuration Manager. In dit geval gebruikt versleuteling een zelfondertekend servercertificaat zonder validatie als er geen verifieerbaar certificaat is ingericht op de server.

Toepassingsinstellingen kunnen het beveiligingsniveau dat is geconfigureerd in SQL Server, niet verminderen, maar kunnen dit desgewenst versterken. Een toepassing kan versleuteling aanvragen door de TrustServerCertificate trefwoorden en Encrypt trefwoorden in te truestellen, zodat versleuteling plaatsvindt, zelfs wanneer een servercertificaat niet is ingericht en Force Protocol Encryption niet is geconfigureerd voor de client. Als TrustServerCertificate dit echter niet is ingeschakeld in de clientconfiguratie, is er nog steeds een ingericht servercertificaat vereist.

In de volgende tabel worden alle gevallen beschreven.

Clientinstelling voor Protocolversleuteling afdwingen Clientinstelling voor vertrouwensservercertificaat Versleutelen/versleuteling gebruiken voor gegevens verbindingsreeks/kenmerk Vertrouwensservercertificaat verbindingsreeks/kenmerk Resultaat
Nee N.v.t. Nee (standaard) Genegeerd Er treedt geen versleuteling op.
Nee N.v.t. Ja Nee (standaard) Versleuteling vindt alleen plaats als er een verifieerbaar servercertificaat is, anders mislukt de verbindingspoging.
Nee N.v.t. Ja Ja Versleuteling vindt altijd plaats, maar kan een zelfondertekend servercertificaat gebruiken.
Ja Nr. Genegeerd Genegeerd Versleuteling vindt alleen plaats als er een verifieerbaar servercertificaat is; anders mislukt de verbindingspoging.
Ja Ja Nee (standaard) Genegeerd Versleuteling vindt altijd plaats, maar kan een zelfondertekend servercertificaat gebruiken.
Ja Ja Ja Nee (standaard) Versleuteling vindt alleen plaats als er een verifieerbaar servercertificaat is; anders mislukt de verbindingspoging.
Ja Ja Ja Ja Versleuteling vindt altijd plaats, maar kan een zelfondertekend servercertificaat gebruiken.

Zie Versleuteling gebruiken zonder validatie voor meer informatie.

OleDb-Verbinding maken iontekenreeksen

Met de ConnectionString eigenschap van een OleDbConnection bestand kunt u een verbindingsreeks ophalen of instellen voor een OLE DB-gegevensbron, zoals Microsoft Access. U kunt ook een OleDb verbindingsreeks tijdens runtime maken met behulp van de OleDbConnectionStringBuilder klasse.

OleDb Verbinding maken tekenreekssyntaxis

U moet een providernaam opgeven voor een OleDbConnection verbindingsreeks. De volgende verbindingsreeks maakt verbinding met een Microsoft Access-database met behulp van de Jet-provider. Houd er rekening mee dat de User ID en Password trefwoorden optioneel zijn als de database niet beveiligd is (de standaardinstelling).

Provider=Microsoft.Jet.OLEDB.4.0; Data Source=d:\Northwind.mdb;User ID=Admin;Password=;

Als de Jet-database is beveiligd met behulp van beveiliging op gebruikersniveau, moet u de locatie van het werkgroepinformatiebestand (.mdw) opgeven. Het werkgroepinformatiebestand wordt gebruikt om de referenties te valideren die worden weergegeven in de verbindingsreeks.

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\Northwind.mdb;Jet OLEDB:System Database=d:\NorthwindSystem.mdw;User ID=*****;Password=*****;  

Belangrijk

Het is mogelijk om verbindingsgegevens op te geven voor een OleDb Verbinding maken ion in een UDL-bestand (Universal Data Link). U moet dit echter vermijden. UDL-bestanden worden niet versleuteld en bevatten verbindingsreeks informatie in duidelijke tekst. Omdat een UDL-bestand een externe bestandsresource voor uw toepassing is, kan het niet worden beveiligd met behulp van .NET Framework. UDL-bestanden worden niet ondersteund voor SqlClient.

DataDirectory gebruiken om te Verbinding maken naar Access/Jet

DataDirectory is niet exclusief voor SqlClient. Het kan ook worden gebruikt met de System.Data.OleDb en System.Data.Odbc .NET-gegevensproviders. In de volgende voorbeeldtekenreeks OleDbConnection ziet u de syntaxis die nodig is om verbinding te maken met de Northwind.mdb in de app_data map van de toepassing. De systeemdatabase (System.mdw) wordt ook opgeslagen op die locatie.

"Provider=Microsoft.Jet.OLEDB.4.0;  
Data Source=|DataDirectory|\Northwind.mdb;  
Jet OLEDB:System Database=|DataDirectory|\System.mdw;"  

Belangrijk

Het opgeven van de locatie van de systeemdatabase in de verbindingsreeks is niet vereist als de Access/Jet-database niet beveiligd is. Beveiliging is standaard uitgeschakeld, waarbij alle gebruikers verbinding maken als de ingebouwde Beheer gebruiker met een leeg wachtwoord. Zelfs wanneer beveiliging op gebruikersniveau correct is geïmplementeerd, blijft een Jet-database kwetsbaar voor aanvallen. Daarom wordt het opslaan van gevoelige informatie in een Access/Jet-database niet aanbevolen vanwege de inherente zwakte van het beveiligingsschema op basis van bestanden.

Verbinding maken naar Excel

De Microsoft Jet-provider wordt gebruikt om verbinding te maken met een Excel-werkmap. In de volgende verbindingsreeks stelt het Extended Properties trefwoord eigenschappen in die specifiek zijn voor Excel. "HDR=Ja;" geeft aan dat de eerste rij kolomnamen bevat, geen gegevens en "IMEX=1;", geeft aan dat het stuurprogramma altijd 'gemixte' gegevenskolommen als tekst moet lezen.

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\MyExcel.xls;Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1""  

Houd er rekening mee dat het dubbele aanhalingsteken dat voor de Extended Properties aanhalingstekens vereist is, ook tussen dubbele aanhalingstekens moet worden geplaatst.

Tekenreekssyntaxis van gegevensshapeprovider Verbinding maken ion

Gebruik zowel de Provider als de Data Provider trefwoorden bij het gebruik van de Microsoft Data Shape-provider. In het volgende voorbeeld wordt de Shape-provider gebruikt om verbinding te maken met een lokaal exemplaar van SQL Server.

"Provider=MSDataShape;Data Provider=SQLOLEDB;Data Source=(local);Initial Catalog=pubs;Integrated Security=SSPI;"

Odbc Verbinding maken iontekenreeksen

Met de ConnectionString eigenschap van een OdbcConnection database kunt u een verbindingsreeks ophalen of instellen voor een OLE DB-gegevensbron. Odbc-verbindingsreeks s worden ook ondersteund door de OdbcConnectionStringBuilder.

In de volgende verbindingsreeks wordt het Microsoft Text Driver gebruikt.

Driver={Microsoft Text Driver (*.txt; *.csv)};DBQ=d:\bin  

DataDirectory gebruiken om te Verbinding maken naar Visual FoxPro

In het volgende OdbcConnection verbindingsreeks voorbeeld ziet u hoe u verbinding DataDirectory maakt met een Microsoft Visual FoxPro-bestand.

"Driver={Microsoft Visual FoxPro Driver};  
SourceDB=|DataDirectory|\MyData.DBC;SourceType=DBC;"  

Oracle Verbinding maken ion-tekenreeksen

Met de ConnectionString eigenschap van een OracleConnection database kunt u een verbindingsreeks ophalen of instellen voor een OLE DB-gegevensbron. Oracle-verbindingsreeks s worden ook ondersteund door de OracleConnectionStringBuilder .

Data Source=Oracle9i;User ID=*****;Password=*****;  

Zie voor meer informatie over ODBC verbindingsreeks syntaxisConnectionString.

Zie ook