Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy: .NET Framework
.NET
Standard
Aby nawiązać połączenie z programem Microsoft SQL Server, użyj SqlConnection obiektu dostawcy danych Microsoft SqlClient dla programu SQL Server. Aby bezpiecznie przechowywać i pobierać parametry połączenia, zobacz Ochrona informacji o połączeniu.
Zamykanie połączeń
Zalecamy, aby zawsze zamykać połączenie po zakończeniu korzystania z niego, aby można było powrócić do puli. Blok Using w języku Visual Basic lub C# automatycznie usuwa połączenie, gdy kod kończy blok, nawet w przypadku nieobsługiwanego wyjątku. Aby uzyskać więcej informacji, zobacz using Statement i Using Statement.
Można również użyć metod Close lub Dispose obiektu połączenia. Połączenia, które nie są jawnie zamknięte, mogą nie zostać dodane lub zwrócone do puli. Na przykład połączenie, które wyszło poza zakres, ale nie zostało jawnie zamknięte, zostanie zwrócone tylko do puli połączeń, jeśli osiągnięto maksymalny rozmiar puli, a połączenie jest nadal prawidłowe.
Uwaga / Notatka
Nie należy wywoływać Close ani Dispose na Connection, DataReader ani żadnym innym zarządzanym obiekcie w metodzie Finalize klasy. W finalizatorze zwalniaj tylko niezarządzane zasoby, które należą do klasy bezpośrednio. Jeśli klasa nie jest właścicielem żadnych zasobów niezarządzanych, nie dołączaj Finalize metody do definicji klasy. Aby uzyskać więcej informacji, zobacz Zbieranie śmieci.
Uwaga / Notatka
Zdarzenia logowania i wylogowywanie nie będą zgłaszane na serwerze, gdy połączenie zostanie pobrane z puli połączeń lub zwrócone do puli połączeń, ponieważ połączenie nie zostanie faktycznie zamknięte po powrocie do puli połączeń. Aby uzyskać więcej informacji, zobacz Konfiguracja puli połączeń w SQL Server (ADO.NET).
Nawiązywanie połączenia z programem SQL Server
Aby uzyskać prawidłowe nazwy i wartości w formacie ciągu, zobacz ConnectionString właściwość SqlConnection obiektu. Możesz również użyć SqlConnectionStringBuilder klasy , aby utworzyć prawidłowe składniowo parametry połączenia w czasie wykonywania. Aby uzyskać więcej informacji, zobacz Konstruktory ciągów połączeń.
W poniższym przykładzie kodu pokazano, jak utworzyć i otworzyć połączenie z bazą danych programu SQL Server.
using Microsoft.Data.SqlClient;
class Program1
{
static void Main()
{
string s = GetConnectionString();
OpenSqlConnection(s);
Console.ReadLine();
}
private static void OpenSqlConnection(string connectionString)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
Console.WriteLine("ServerVersion: {0}", connection.ServerVersion);
Console.WriteLine("State: {0}", connection.State);
}
}
static private string GetConnectionString()
{
// To avoid storing the connection string in your code,
// you can retrieve it from a configuration file, using the
// System.Configuration.ConfigurationSettings.AppSettings property
return "Data Source=(local);Initial Catalog=AdventureWorks;"
+ "Integrated Security=SSPI;";
}
}
Zintegrowane zabezpieczenia i ASP.NET
Zintegrowane zabezpieczenia programu SQL Server (nazywane również zaufanymi połączeniami) pomagają zapewnić ochronę podczas nawiązywania połączenia z programem SQL Server, ponieważ nie uwidacznia identyfikatora użytkownika i hasła w parametrach połączenia i jest zalecaną metodą uwierzytelniania połączenia. Zintegrowane zabezpieczenia korzystają z bieżącej tożsamości zabezpieczeń lub tokenu wykonywanego procesu. W przypadku aplikacji klasycznych ta tożsamość jest zazwyczaj tożsamością aktualnie zalogowanego użytkownika.
Tożsamość zabezpieczeń dla aplikacji ASP.NET można ustawić na jedną z kilku różnych opcji. Aby lepiej zrozumieć tożsamość zabezpieczeń używaną przez aplikację ASP.NET podczas nawiązywania połączenia z programem SQL Server, zobacz ASP.NET Personifikacja, uwierzytelnianie ASP.NET i Instrukcje: uzyskiwanie dostępu do programu SQL Server przy użyciu zintegrowanych zabezpieczeń systemu Windows.