Udostępnij za pośrednictwem


Składnia parametrów połączenia

Każdy dostawca danych programu .NET Framework ma Connection obiekt, który dziedziczy z DbConnection właściwości specyficznej dla ConnectionString dostawcy. Określona składnia parametry połączenia dla każdego dostawcy jest udokumentowana we właściwościConnectionString. W poniższej tabeli wymieniono czterech dostawców danych uwzględnionych w programie .NET Framework.

Dostawca danych programu .NET Framework opis
System.Data.SqlClient Zapewnia dostęp do danych dla programu Microsoft SQL Server. Aby uzyskać więcej informacji na temat składni parametry połączenia, zobacz ConnectionString.
System.Data.OleDb Zapewnia dostęp do danych dla źródeł danych uwidocznionych przy użyciu ole DB. Aby uzyskać więcej informacji na temat składni parametry połączenia, zobacz ConnectionString.
System.Data.Odbc Zapewnia dostęp do danych dla źródeł danych uwidocznionych przy użyciu odBC. Aby uzyskać więcej informacji na temat składni parametry 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 parametry połączenia, zobacz ConnectionString.

Konstruktorzy parametrów połączenia

ADO.NET 2.0 wprowadzono następujące konstruktory parametry połączenia dla dostawców danych programu .NET Framework.

Konstruktorzy parametry połączenia umożliwiają konstruowanie prawidłowych składniowo parametry połączenia w czasie wykonywania, więc nie trzeba ręcznie łączyć wartości parametry połączenia w kodzie. Aby uzyskać więcej informacji, zobacz Konstruktory parametrów połączenia.

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 parametry połączenia różni się w zależności od dostawcy. W poniższej tabeli przedstawiono składnię uwierzytelniania systemu Windows używaną z dostawcami danych programu .NET Framework.

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 parametry połączenia jest udokumentowana we 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. Jeśli musisz nawiązać połączenie ze starszą wersją programu SQL Server, musisz użyć programu .NET Framework Dostawca danych dla bazy danych OleDb (System.Data.OleDb). Większość słów kluczowych parametry połączenia jest również mapowania 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 informacji poufnych zabezpieczeń, w tym identyfikatora użytkownika i hasła, z połączenia po otwarciu połączenia. Ustaw Persist Security Info wartość na wartość false , aby upewnić się, że niezaufane źródło nie ma dostępu do poufnych parametry połączenia informacji.

Uwierzytelnianie systemu Windows za pomocą klienta SqlClient

Każda z poniższych form składni używa uwierzytelniania systemu Windows do nawiązywania połączenia z bazą danych AdventureWorks na serwerze lokalnym.

"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)"

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 identyfikatorami logowania programu 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 uwierzytelnianie systemu Windows jest używane.

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=MySqlServer\\MSSQL1;"

Właściwość obiektu SqlConnectionStringBuilder można również ustawić DataSource na nazwę wystąpienia podczas tworzenia parametry połączenia. Właściwość DataSource SqlConnection obiektu jest tylko do odczytu.

Zmiany wersji systemu typu

Słowo Type System Version kluczowe w a SqlConnection.ConnectionString określa reprezentację po stronie klienta typów programu SQL Server. Zobacz SqlConnection.ConnectionString , aby uzyskać więcej informacji na temat słowa kluczowego Type System Version .

Łą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

Słowo TrustServerCertificate kluczowe jest prawidłowe tylko podczas nawiązywania połączenia z wystąpieniem programu SQL Server z prawidłowym certyfikatem. Gdy TrustServerCertificate jest ustawiona wartość true, warstwa transportu będzie używać protokołu SSL do szyfrowania kanału i pomijania chodzenia łańcuchem certyfikatów w celu zweryfikowania zaufania.

"TrustServerCertificate=true;"

Uwaga

Jeśli TrustServerCertificate jest ustawiona wartość true i szyfrowanie jest włączone, poziom szyfrowania określony na serwerze będzie używany, nawet jeśli Encrypt jest ustawiona na false wartość w parametry połączenia. Połączenie zakończy się niepowodzeniem.

Włączanie szyfrowania

Aby włączyć szyfrowanie, gdy na serwerze nie zainicjowano obsługi administracyjnej certyfikatu, należy ustawić opcje Wymuszanie szyfrowania protokołu i certyfikatu serwera zaufania w Menedżerze konfiguracji programu SQL Server. W takim przypadku szyfrowanie będzie używać certyfikatu serwera z podpisem własnym bez sprawdzania poprawności, jeśli na serwerze nie zainicjowano obsługi administracyjnej certyfikatu weryfikowalnego.

Ustawienia aplikacji nie mogą zmniejszyć poziomu zabezpieczeń skonfigurowanych w programie SQL Server, ale opcjonalnie można je wzmocnić. Aplikacja może żądać szyfrowania, ustawiając TrustServerCertificate słowa kluczowe i Encrypt na truewartość , gwarantując, że szyfrowanie odbywa się nawet wtedy, gdy certyfikat serwera nie został aprowizowany, a szyfrowanie wymuszane nie zostało skonfigurowane dla klienta. Jeśli TrustServerCertificate jednak nie jest włączona w konfiguracji klienta, nadal wymagany jest aprowizowany certyfikat serwera.

W poniższej tabeli opisano wszystkie przypadki.

Wymuszanie ustawienia klienta szyfrowania protokołu Ustawienie klienta certyfikatu serwera zaufania Szyfrowanie/używanie szyfrowania dla parametry połączenia danych/atrybutu Certyfikat serwera zaufania parametry połączenia/atrybut Result
Nie. Nie dotyczy Nie (ustawienie domyślne) Zignorowane Nie ma szyfrowania.
Nie. Nie dotyczy Tak Nie (ustawienie domyślne) Szyfrowanie występuje tylko wtedy, gdy istnieje weryfikowalny certyfikat serwera, w przeciwnym razie próba połączenia zakończy się niepowodzeniem.
Nie. Nie dotyczy Tak Tak Szyfrowanie zawsze występuje, ale może używać certyfikatu serwera z podpisem własnym.
Tak Nie. Zignorowane Zignorowane Szyfrowanie odbywa się tylko wtedy, gdy istnieje weryfikowalny certyfikat serwera; w przeciwnym razie próba połączenia kończy się niepowodzeniem.
Tak Tak Nie (ustawienie domyślne) Zignorowane Szyfrowanie zawsze występuje, ale może używać certyfikatu serwera z podpisem własnym.
Tak Tak Tak Nie (ustawienie domyślne) Szyfrowanie odbywa się tylko wtedy, gdy istnieje weryfikowalny certyfikat serwera; w przeciwnym razie próba połączenia kończy się niepowodzeniem.
Tak Tak Tak Tak Szyfrowanie zawsze występuje, ale może używać certyfikatu serwera z podpisem własnym.

Aby uzyskać więcej informacji, zobacz Using Encryption Without Validation (Używanie szyfrowania bez walidacji).

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żesz również utworzyć OleDb parametry połączenia w czasie wykonywania przy użyciu OleDbConnectionStringBuilder klasy .

Składnia parametry połączenia OleDb

Musisz określić nazwę dostawcy dla OleDbConnection parametry połączenia. Poniższy parametry połączenia nawiązuje połączenie z bazą danych programu Microsoft Access przy użyciu 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 weryfikowania poświadczeń przedstawionych w parametry 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

Istnieje możliwość podania informacji o połączeniu dla obiektu OleDbConnection w pliku UDL (Universal Data Link), jednak należy tego unikać. Pliki UDL nie są szyfrowane i uwidaczniają parametry połączenia informacje w postaci zwykłego 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 System.Data.OleDb danych platformy i System.Data.Odbc .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 wbudowanego użytkownika administratora 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 służy do nawiązywania połączenia ze skoroszytem programu Excel. W poniższym parametry połączenia słowo Extended Properties kluczowe 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ęta w podwójny cudzysłów.

Składnia dostawcy kształtów danych parametry połączenia

Użyj słów Provider kluczowych i Data Provider podczas korzystania z dostawcy kształtów danych 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 parametry połączenia s

Właściwość ConnectionString obiektu OdbcConnection umożliwia pobranie lub ustawienie parametry połączenia dla źródła danych OLE DB. Parametry połączenia odbc są również obsługiwane przez program OdbcConnectionStringBuilder.

W poniższych parametry połączenia użyto sterownika tekstu firmy Microsoft.

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

Parametry połączenia Oracle

Właściwość ConnectionString obiektu OracleConnection umożliwia pobranie lub ustawienie parametry 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 parametry 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.

Zobacz też