Obsługa programu SqlClient dla bazy danych LocalDB

Użyj pakietu NuGet Microsoft.Data.SqlClient do nawiązania połączenia z bazą danych LocalDB, uproszczoną wersją SQL Server dostępną w systemie Windows. Użyj uwierzytelniania zintegrowanego z systemem Windows dla przykładów w tym artykule.

Uwagi

Aby podsumować, co można zrobić za pomocą bazy danych LocalDB:

  • Utwórz i uruchom wystąpienia usługi LocalDB za pomocą polecenia SqlLocalDB.exe.

  • Użyj sqlcmd.exe, aby dodać i zmodyfikować bazy danych w wystąpieniu LocalDB. Na przykład sqlcmd -S (localdb)\myinst.

  • Użyj słowa kluczowego ciągu połączenia AttachDBFilename, aby dodać bazę danych do wystąpienia LocalDB. W przypadku używania metody AttachDBFilename, jeśli nie określisz nazwy bazy danych ze Database słowem kluczowym parametrów połączenia, baza danych zostanie usunięta z wystąpienia bazy danych LocalDB po zamknięciu aplikacji.

  • Określ wystąpienie bazy danych LocalDB w parametrach połączenia. Na przykład, jeśli nazwa twojego wystąpienia to myInstance, ciąg połączenia powinien obejmować:

    Server=(localdb)\myInstance;Database=<database>;Integrated Security=true;Encrypt=true

User Instance=True nie jest dozwolone przy łączeniu się z bazą danych LocalDB.

Aby uzyskać informacje na temat instalowania bazy danych LocalDB, zobacz SQL Server Express LocalDB.

Programowe tworzenie nazwanego wystąpienia

Microsoft.Data.SqlClient we współczesnym środowisku .NET nie korzysta z sekcji konfiguracji platformy .NET Framework system.data.localdb. Utwórz i uruchom wystąpienie przed otwarciem połączenia przez aplikację:

SqlLocalDB.exe create myInstance
SqlLocalDB.exe start myInstance

Określ tę samą nazwę wystąpienia w słowie kluczowym Server ciągu połączenia. Aby dołączyć istniejący plik bazy danych, ustaw AttachDBFilename na pełną ścieżkę pliku i ustaw Database na nazwę bazy danych.

W przypadku lokalnego programowania z wystąpieniem usługi LocalDB, które nie ma zaufanego certyfikatu serwera, użyj polecenia Encrypt=true;TrustServerCertificate=true. To ustawienie szyfruje połączenie, ale pomija walidację certyfikatu serwera. W przypadku zdalnych połączeń do środowiska produkcyjnego należy użyć Encrypt=true;TrustServerCertificate=false i skonfigurować certyfikat serwera, któremu ufa klient i który jest zgodny z nazwą serwera. Aby uzyskać więcej informacji, zapoznaj się z Encryption and certificate validation in Microsoft.Data.SqlClient.

Zobacz także