Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Każdy dostawca danych ADO.NET ma obiekt Connection, który dziedziczy z DbConnection, a także właściwość ConnectionString specyficzną dla dostawcy. Określona składnia ciągu połączenia dla każdego dostawcy jest udokumentowana w jego właściwości ConnectionString. W poniższej tabeli wymieniono Microsoft.Data.SqlClient i trzech dostawców dołączonych do platformy .NET Framework.
| Dostawca danych | opis |
|---|---|
| Microsoft.Data.SqlClient | Zapewnia dostęp do danych dla Microsoft SQL Server za pośrednictwem pakietu NuGet Microsoft.Data.SqlClient. Aby uzyskać więcej informacji na temat składni ciągu połączenia, zobacz ConnectionString. |
| System.Data.OleDb | Zapewnia dostęp do danych dla źródeł danych udostępnianych przy użyciu OLE DB. Aby uzyskać więcej informacji na temat składni ciągu połączenia, zobacz ConnectionString. |
| System.Data.Odbc | Zapewnia dostęp do danych dla źródeł danych udostępnionych przy użyciu ODBC. Aby uzyskać więcej informacji na temat składni ciągu połączenia, zobacz ConnectionString. |
| System.Data.OracleClient | Zapewnia dostęp do danych dla programu Oracle w wersji 8.1.7 lub nowszej. Aby uzyskać więcej informacji na temat składni ciągu połączenia, zobacz ConnectionString. |
Konstruktorzy łańcuchów połączenia
Użyj konstruktora parametry połączenia dla dostawcy danych.
- SqlConnectionStringBuilder
- OleDbConnectionStringBuilder
- OdbcConnectionStringBuilder
- OracleConnectionStringBuilder
Konstruktory parametrów połączenia umożliwiają konstruowanie składniowo prawidłowych parametrów połączenia w czasie wykonywania, więc nie trzeba ręcznie łączyć wartości parametrów połączenia w kodzie. Aby uzyskać więcej informacji, zobacz Konstruktory ciągów połączeń.
Uwierzytelnianie systemu Windows
Uwierzytelnianie systemu Windows (czasami nazywane zintegrowanymi zabezpieczeniami) może służyć do nawiązywania połączenia ze źródłami danych, które go obsługują. Składnia zastosowana w ciągu połączenia różni się w zależności od dostawcy. W poniższej tabeli przedstawiono składnię uwierzytelniania Windows używaną z tymi dostawcami danych.
| Dostawca | Składnia |
|---|---|
SqlClient |
Integrated Security=true;-- or --Integrated Security=SSPI; |
OleDb |
Integrated Security=SSPI; |
Odbc |
Trusted_Connection=yes; |
OracleClient |
Integrated Security=yes; |
Uwaga
Integrated Security=true zgłasza wyjątek w przypadku użycia z dostawcą OleDb .
Ważne
Firma Microsoft zaleca korzystanie z najbezpieczniejszego dostępnego przepływu uwierzytelniania. Jeśli łączysz się z usługą Azure SQL, tożsamości zarządzane dla zasobów platformy Azure to zalecana metoda uwierzytelniania.
Parametry połączenia SqlClient
Składnia SqlConnection ciągu połączenia jest udokumentowana w SqlConnection.ConnectionString właściwości. Za pomocą ConnectionString właściwości można pobrać lub ustawić parametry połączenia dla bazy danych programu SQL Server. Większość słów kluczowych parametrów połączenia jest również odwzorowywana na właściwości w obiekcie SqlConnectionStringBuilder.
Ważne
Ustawieniem domyślnym słowa kluczowego Persist Security Info jest false. Ustawienie go na true lub yes umożliwia uzyskanie poufnych informacji związanych z zabezpieczeniami, w tym identyfikatora użytkownika i hasła, z połączenia po jego otwarciu. Ustaw Persist Security Info na false, aby upewnić się, że niezaufane źródło nie ma dostępu do poufnych informacji dotyczących parametrów połączenia.
Uwierzytelnianie systemu Windows za pomocą klienta SqlClient
Każda z poniższych form składni używa Windows Authentication w celu nawiązania połączenia z bazą AdventureWorks danych na określonym serwerze.
"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"
Ważne
Firma Microsoft zaleca korzystanie z najbezpieczniejszego dostępnego przepływu uwierzytelniania. Jeśli łączysz się z usługą Azure SQL, tożsamości zarządzane dla zasobów platformy Azure to zalecana metoda uwierzytelniania.
Uwierzytelnianie programu SQL Server za pomocą programu SqlClient
Uwierzytelnianie systemu Windows jest preferowane w przypadku nawiązywania połączenia z programem SQL Server (lokalnie). Jeśli jednak wymagane jest uwierzytelnianie programu SQL Server, użyj następującej składni, aby określić nazwę użytkownika i hasło. W tym przykładzie gwiazdki są używane do reprezentowania prawidłowej nazwy użytkownika i hasła.
"Persist Security Info=False;User ID=*****;Password=*****;Initial Catalog=AdventureWorks;Server=MySqlServer"
Podczas nawiązywania połączenia z usługą Azure SQL Database lub z usługą Azure SQL Data Warehouse i podania nazwy logowania w formacie user@servernameupewnij się, że servername wartość w logowaniu jest zgodna z wartością podaną dla Server=.
Uwaga
Uwierzytelnianie systemu Windows ma pierwszeństwo przed logowaniami SQL Server. Jeśli określisz zarówno Integrated Security=true nazwę użytkownika, jak i hasło, nazwa użytkownika i hasło są ignorowane, a używane jest uwierzytelnianie w systemie Windows.
Ważne
Firma Microsoft zaleca korzystanie z najbezpieczniejszego dostępnego przepływu uwierzytelniania. Jeśli łączysz się z usługą Azure SQL, tożsamości zarządzane dla zasobów platformy Azure to zalecana metoda uwierzytelniania.
Nawiązywanie połączenia z nazwanym wystąpieniem programu SQL Server
Aby nawiązać połączenie z nazwanym wystąpieniem programu SQL Server, użyj składni nazwy serwera\nazwy wystąpienia.
"Data Source=<server>\\<instance>;Encrypt=true;"
Właściwości DataSource obiektu SqlConnectionStringBuilder można również ustawić na nazwę wystąpienia podczas tworzenia ciągu połączenia. Właściwość obiektu DataSourceSqlConnection jest tylko do odczytu.
Zmiany wersji systemu typów
Kluczowe słowo Type System Version w SqlConnection.ConnectionString określa reprezentację po stronie klienta typów programu SQL Server. Aby uzyskać więcej informacji na temat słowa kluczowego Type System Version , zobacz SqlConnection.ConnectionString.
Łączenie i dołączanie do wystąpień użytkowników programu SQL Server Express
Wystąpienia użytkowników to funkcja w programie SQL Server Express. Umożliwiają one użytkownikowi działającemu na najmniej uprzywilejowanym lokalnym koncie systemu Windows dołączanie i uruchamianie bazy danych programu SQL Server bez konieczności posiadania uprawnień administracyjnych. Wystąpienie użytkownika jest wykonywane przy użyciu poświadczeń systemu Windows użytkownika, a nie jako usługi.
Aby uzyskać więcej informacji na temat pracy z wystąpieniami użytkowników, zobacz SQL Server Express User Instances (Wystąpienia użytkowników programu SQL Server Express).
Korzystanie z certyfikatu TrustServerCertificate
Z opcją TrustServerCertificate=true, Encrypt=true szyfruje połączenie, ale pomija weryfikację certyfikatu serwera. Zachowaj obsługę TrustServerCertificate=false dla połączeń produkcyjnych i skonfiguruj weryfikowalny certyfikat serwera.
"TrustServerCertificate=true;"
Caution
Jeśli pominiesz weryfikację certyfikatu, klient nie będzie mógł zweryfikować tożsamości serwera. Z Encrypt=StrictMicrosoft.Data.SqlClient zawsze weryfikuje certyfikat serwera i ignoruje element TrustServerCertificate.
Włączanie szyfrowania
Microsoft.Data.SqlClient domyślnie ma wartość Encrypt=Mandatory, równoważną Encrypt=true i TrustServerCertificate=false. Klient wymaga szyfrowania i weryfikuje certyfikat serwera. Jeśli certyfikat nie jest zaufany lub nie jest zgodny z nazwą serwera, połączenie nie powiedzie się.
W przypadku połączeń zdalnych określ Encrypt=true i skonfiguruj certyfikat serwera, któremu ufa klient. W przypadku migracji z elementu System.Data.SqlClient nie należy zakładać, że jego ustawienia domyślne szyfrowania mają zastosowanie do Microsoft. Data.SqlClient. Aby uzyskać więcej informacji, zapoznaj się z Encryption and certificate validation in Microsoft.Data.SqlClient.
Parametry połączenia OleDb
Właściwość ConnectionString obiektu OleDbConnection umożliwia uzyskanie lub ustawienie parametry połączenia dla źródła danych OLE DB, takiego jak Microsoft Access. Można również utworzyć parametry połączenia OleDb w czasie wykonywania przy użyciu klasy OleDbConnectionStringBuilder.
Składnia ciągu połączenia OleDb
Musisz określić nazwę dostawcy dla OleDbConnection ciągu połączenia. Poniższy łańcuch znaków połączeniowy łączy się z bazą danych programu Microsoft Access z wykorzystaniem dostawcy Jet. Pamiętaj, że User ID słowa kluczowe i Password są opcjonalne, jeśli baza danych jest niezabezpieczona (wartość domyślna).
Provider=Microsoft.Jet.OLEDB.4.0; Data Source=d:\Northwind.mdb;User ID=Admin;Password=;
Jeśli baza danych Jet jest zabezpieczona przy użyciu zabezpieczeń na poziomie użytkownika, należy podać lokalizację pliku informacyjnego grupy roboczej (mdw). Plik informacyjny grupy roboczej służy do weryfikacji poświadczeń przedstawionych w ciągu połączenia.
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\Northwind.mdb;Jet OLEDB:System Database=d:\NorthwindSystem.mdw;User ID=*****;Password=*****;
Ważne
Możliwe jest dostarczenie informacji o połączeniu dla OleDbConnection w pliku Uniwersalnego Łącza Danych (UDL), jednak należy tego unikać. Pliki UDL nie są szyfrowane i ujawniają informacje o ciągu połączenia w postaci jawnego tekstu. Ponieważ plik UDL jest zewnętrznym zasobem opartym na plikach w aplikacji, nie można go zabezpieczyć przy użyciu programu .NET Framework. Pliki UDL nie są obsługiwane w przypadku programu SqlClient.
Ważne
Firma Microsoft zaleca korzystanie z najbezpieczniejszego dostępnego przepływu uwierzytelniania. Jeśli łączysz się z usługą Azure SQL, tożsamości zarządzane dla zasobów platformy Azure to zalecana metoda uwierzytelniania.
Nawiązywanie połączenia z usługą Access/Jet przy użyciu usługi DataDirectory
DataDirectory nie jest wyłączny dla SqlClient. Można go również używać z dostawcami danych System.Data.OleDb i System.Data.Odbc platformy .NET. Poniższy przykładowy OleDbConnection ciąg przedstawia składnię wymaganą do nawiązania połączenia z Northwind.mdb znajdującym się w folderze app_data aplikacji. Systemowa baza danych (System.mdw) jest również przechowywana w tej lokalizacji.
"Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=|DataDirectory|\Northwind.mdb;
Jet OLEDB:System Database=|DataDirectory|\System.mdw;"
Ważne
Określenie lokalizacji systemowej bazy danych w parametry połączenia nie jest wymagane, jeśli baza danych Access/Jet jest niezabezpieczona. Zabezpieczenia są domyślnie wyłączone, a wszyscy użytkownicy łączą się jako wbudowany użytkownik Administrator z pustym hasłem. Nawet jeśli zabezpieczenia na poziomie użytkownika są prawidłowo implementowane, baza danych Jet pozostaje podatna na ataki. W związku z tym przechowywanie poufnych informacji w bazie danych programu Access/Jet nie jest zalecane ze względu na nieodłączną słabość schematu zabezpieczeń opartego na plikach.
Łączenie z Excel
Dostawca Microsoft Jet jest używany do łączenia się ze skoroszytem programu Excel. W poniższym ciągu połączenia, słowo kluczowe Extended Properties ustawia właściwości specyficzne dla programu Excel. Wyrażenie "HDR=Tak;" wskazuje, że pierwszy wiersz zawiera nazwy kolumn, a nie dane i "IMEX=1;" informuje sterownik, aby zawsze odczytywał "mieszane" kolumny danych jako tekst.
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\MyExcel.xls;Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1""
Należy pamiętać, że podwójny cudzysłów wymagany dla znaku Extended Properties musi być również ujęty w podwójny cudzysłów.
Składnia ciągu połączenia dostawcy Data Shape
Użyj zarówno Provider, jak i Dostawca danych, podczas korzystania z dostawcy Data Shape firmy Microsoft. W poniższym przykładzie użyto dostawcy kształtów do nawiązania połączenia z lokalnym wystąpieniem programu SQL Server.
"Provider=MSDataShape;Data Provider=SQLOLEDB;Data Source=(local);Initial Catalog=pubs;Integrated Security=SSPI;"
Ważne
Firma Microsoft zaleca korzystanie z najbezpieczniejszego dostępnego przepływu uwierzytelniania. Jeśli łączysz się z usługą Azure SQL, tożsamości zarządzane dla zasobów platformy Azure to zalecana metoda uwierzytelniania.
Odbc ciągi połączenia
Właściwość ConnectionString obiektu OdbcConnection umożliwia pobieranie lub ustawianie ciągu połączenia dla źródła danych OLE DB. Ciągi połączenia ODBC są również obsługiwane przez program OdbcConnectionStringBuilder.
W poniższym ciągu połączenia użyto sterownika tekstowego firmy Microsoft.
Driver={Microsoft Text Driver (*.txt; *.csv)};DBQ=d:\bin
Parametry połączenia Oracle
Właściwość ConnectionString obiektu OracleConnection umożliwia pobieranie lub ustawianie ciągu połączenia dla źródła danych OLE DB. Parametry połączenia Oracle są również obsługiwane przez program OracleConnectionStringBuilder .
Data Source=Oracle9i;User ID=*****;Password=*****;
Aby uzyskać więcej informacji na temat składni parametrów połączenia ODBC, zobacz ConnectionString.
Ważne
Firma Microsoft zaleca korzystanie z najbezpieczniejszego dostępnego przepływu uwierzytelniania. Jeśli łączysz się z usługą Azure SQL, tożsamości zarządzane dla zasobów platformy Azure to zalecana metoda uwierzytelniania.