Ustanawianie połączenia
Aby nawiązać połączenie z programem Microsoft SQL Server, użyj SqlConnection obiektu programu .NET Framework Dostawca danych dla programu SQL Server. Aby nawiązać połączenie ze źródłem danych OLE DB, użyj OleDbConnection obiektu programu .NET Framework Dostawca danych dla ole DB. Aby nawiązać połączenie ze źródłem danych ODBC, użyj OdbcConnection obiektu programu .NET Framework Dostawca danych dla ODBC. Aby nawiązać połączenie ze źródłem danych Oracle, użyj OracleConnection obiektu programu .NET Framework Dostawca danych for Oracle. 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. Zobacz using
instrukcję i Using
instrukcję , aby uzyskać więcej informacji.
Można również użyć Close
metod lub Dispose
obiektu połączenia dla dostawcy, którego używasz. 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. Aby uzyskać więcej informacji, zobacz OLE DB, ODBC i Oracle Connection Pooling (Buforowanie połączeń OLE DB, ODBC i Oracle Connection Pooling).
Uwaga
Nie należy wywoływać Close
ani Dispose
w połączeniu, w kodzie DataReader ani w żadnym innym zarządzanym obiekcie w Finalize
metodzie 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 Odzyskiwanie pamięci.
Uwaga
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 Sql Server Connection Pooling (ADO.NET).
Ustanawianie połączenia z programem SQL Server
Program .NET Framework Dostawca danych dla programu SQL Server obsługuje format parametry połączenia podobny do formatu parametry połączenia OLE DB (ADO). 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 parametrów połączenia.
W poniższym przykładzie kodu pokazano, jak utworzyć i otworzyć połączenie z bazą danych programu SQL Server.
' Assumes connectionString is a valid connection string.
Using connection As New SqlConnection(connectionString)
connection.Open()
' Do work here.
End Using
// Assumes connectionString is a valid connection string.
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
// Do work here.
}
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 parametry 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 jest to zazwyczaj tożsamość 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.
Nawiązywanie połączenia ze źródłem danych OLE DB
Program .NET Framework Dostawca danych dla ole DB zapewnia łączność ze źródłami danych uwidacznianych przy użyciu ole DB (za pośrednictwem bazy danych SQLOLEDB, dostawcy OLE DB dla programu SQL Server) przy użyciu obiektu OleDbConnection.
W przypadku platformy .NET Framework Dostawca danych dla OLE DB format parametry połączenia jest identyczny z formatem parametry połączenia używanym w ADO z następującymi wyjątkami:
Słowo kluczowe Dostawcy jest wymagane.
Słowa kluczowe adresu URL, dostawcy zdalnego i serwera zdalnego nie są obsługiwane.
Aby uzyskać więcej informacji na temat parametry połączenia OLE DB, zobacz ConnectionString artykuł. Możesz również użyć polecenia OleDbConnectionStringBuilder , aby utworzyć parametry połączenia w czasie wykonywania.
Uwaga
Obiekt OleDbConnection nie obsługuje ustawiania ani pobierania właściwości dynamicznych specyficznych dla dostawcy OLE DB. Obsługiwane są tylko właściwości, które można przekazać w parametry połączenia dla dostawcy OLE DB.
W poniższym przykładzie kodu pokazano, jak utworzyć i otworzyć połączenie ze źródłem danych OLE DB.
' Assumes connectionString is a valid connection string.
Using connection As New OleDbConnection(connectionString)
connection.Open()
' Do work here.
End Using
// Assumes connectionString is a valid connection string.
using (OleDbConnection connection =
new OleDbConnection(connectionString))
{
connection.Open();
// Do work here.
}
Nie używaj plików linku uniwersalnego danych
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 do aplikacji, nie można go zabezpieczyć przy użyciu programu .NET Framework.
Nawiązywanie połączenia ze źródłem danych ODBC
Program .NET Framework Dostawca danych for ODBC zapewnia łączność ze źródłami danych uwidocznianych przy użyciu odbcconnection obiektu.
W przypadku Dostawca danych .NET Framework dla ODBC format parametry połączenia został zaprojektowany tak, aby był zgodny z formatem parametry połączenia ODBC tak ściśle, jak to możliwe. Możesz również podać nazwę źródła danych ODBC (DSN). Aby uzyskać więcej informacji na temat odbcConnection , zobacz OdbcConnection.
W poniższym przykładzie kodu pokazano, jak utworzyć i otworzyć połączenie ze źródłem danych ODBC.
' Assumes connectionString is a valid connection string.
Using connection As New OdbcConnection(connectionString)
connection.Open()
' Do work here.
End Using
// Assumes connectionString is a valid connection string.
using (OdbcConnection connection =
new OdbcConnection(connectionString))
{
connection.Open();
// Do work here.
}
Nawiązywanie połączenia ze źródłem danych Oracle
Program .NET Framework Dostawca danych for Oracle zapewnia łączność ze źródłami danych Oracle przy użyciu obiektu OracleConnection.
W przypadku platformy .NET Framework Dostawca danych dla oracle format parametry połączenia został zaprojektowany tak, aby był zgodny z formatem parametry połączenia dostawcy OLE DB dla programu Oracle (MSDAORA). Aby uzyskać więcej informacji na temat programu OracleConnection, zobacz OracleConnection.
W poniższym przykładzie kodu pokazano, jak utworzyć i otworzyć połączenie ze źródłem danych Oracle.
' Assumes connectionString is a valid connection string.
Using connection As New OracleConnection(connectionString)
connection.Open()
' Do work here.
End Using
// Assumes connectionString is a valid connection string.
using (OracleConnection connection =
new OracleConnection(connectionString))
{
connection.Open();
// Do work here.
}