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łączeń

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 Połączenie ion String Builders.

Uwierzytelnianie systemu Windows

Zalecamy używanie uwierzytelniania systemu Windows (czasami nazywanego zintegrowanymi zabezpieczeniami) w celu nawiązania 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 .

Ciągi Połączenie ion programu 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)"  

Uwierzytelnianie programu SQL Server za pomocą programu SqlClient

Uwierzytelnianie systemu Windows jest preferowane do nawiązywania połączenia z programem SQL Server. 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 zintegrowane zabezpieczenia=true, jak i nazwę użytkownika i hasło, nazwa użytkownika i hasło zostaną zignorowane, a zostanie użyte uwierzytelnianie systemu Windows.

Połączenie do nazwanego wystąpienia 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ść DataSourceSqlConnection obiektu jest tylko do odczytu.

Zmiany wersji systemu typów

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 .

Połą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 elementu 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).

Ciągi Połączenie ion 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 ciągu Połączenie ion 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 bazy danych OleDb Połączenie ion w pliku universal Data Link (UDL), 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 do aplikacji, nie można go zabezpieczyć przy użyciu programu .NET Framework. Pliki UDL nie są obsługiwane w przypadku programu SqlClient.

Używanie elementu DataDirectory do Połączenie do uzyskiwania dostępu/jet

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 wbudowany użytkownik Administracja 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.

Połączenie do programu 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 ciągu Połączenie ion dostawcy kształtów danych

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

Ciągi Połączenie ion odbc

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  

Używanie elementu DataDirectory do Połączenie do programu Visual FoxPro

W poniższym OdbcConnection przykładzie parametry połączenia pokazano, jak używać polecenia DataDirectory w celu nawiązania połączenia z plikiem Microsoft Visual FoxPro.

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

Ciągi Połączenie ion 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.

Zobacz też