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.
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, gdy skończysz z niego korzystać, tak aby mogło zostać zwrócone 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ć informacje o poprawnych nazwach i wartościach formatów ciągów, zobacz właściwość ConnectionString obiektu SqlConnection. 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ń, której używa aplikacja ASP.NET podczas nawiązywania połączenia z SQL Server, zobacz Personifikacja w ASP.NET, Uwierzytelnianie w ASP.NET oraz Jak uzyskać dostęp do SQL Server przy użyciu zintegrowanych zabezpieczeń systemu Windows.