OdbcConnection Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет открытое подключение к источнику данных.
public ref class OdbcConnection sealed : System::Data::Common::DbConnection, ICloneable
public ref class OdbcConnection sealed : System::ComponentModel::Component, ICloneable, IDisposable, System::Data::IDbConnection
public sealed class OdbcConnection : System.Data.Common.DbConnection, ICloneable
public sealed class OdbcConnection : System.ComponentModel.Component, ICloneable, IDisposable, System.Data.IDbConnection
type OdbcConnection = class
inherit DbConnection
interface ICloneable
type OdbcConnection = class
inherit Component
interface ICloneable
interface IDbConnection
interface IDisposable
Public NotInheritable Class OdbcConnection
Inherits DbConnection
Implements ICloneable
Public NotInheritable Class OdbcConnection
Inherits Component
Implements ICloneable, IDbConnection, IDisposable
- Наследование
- Наследование
- Наследование
- Реализации
Примеры
В следующем примере создается OdbcCommand и объект OdbcConnection. Открывается OdbcConnection и задается в качестве Connection свойства. Затем в примере вызывается ExecuteNonQueryи закрывается соединение. Для этого ExecuteNonQuery передается строка подключения и строка запроса, которая является инструкцией SQL INSERT.
static private void InsertRow(string connectionString)
{
string queryString =
"INSERT INTO Customers (CustomerID, CompanyName) Values('NWIND', 'Northwind Traders')";
OdbcCommand command = new OdbcCommand(queryString);
using (OdbcConnection connection = new OdbcConnection(connectionString))
{
command.Connection = connection;
connection.Open();
command.ExecuteNonQuery();
// The connection is automatically closed at
// the end of the Using block.
}
}
Private Sub InsertRow(ByVal connectionString As String)
Dim queryString As String = _
"INSERT INTO Customers (CustomerID, CompanyName) Values('NWIND', 'Northwind Traders')"
Dim command As New OdbcCommand(queryString)
Using connection As New OdbcConnection(connectionString)
command.Connection = connection
connection.Open()
command.ExecuteNonQuery()
' The connection is automatically closed at
' the end of the Using block.
End Using
End Sub
Комментарии
Объект OdbcConnection представляет уникальное подключение к источнику данных, созданному с помощью строки подключения или имени источника данных ODBC (DSN). В клиентской или серверной базе данных это эквивалентно сетевому подключению к серверу. В зависимости от функциональности, поддерживаемой собственным драйвером ODBC, некоторые методы или свойства OdbcConnection объекта могут быть недоступны.
Объект OdbcConnection использует собственные ресурсы, такие как среда ODBC и дескриптор подключения. Вы всегда должны явно закрыть все открытые OdbcConnection объекты путем вызова Close или удаленияOdbcConnection перед выходом объекта из области или путем размещения соединения в инструкции Using . Это не позволяет освободить эти собственные ресурсы для сборки мусора. Это может не освободить их немедленно. Это, в свою очередь, может привести к тому, что базовый драйвер не упустит ресурсы или достигнет максимального предела. Это привело к периодическим сбоям. Например, может возникнуть Maximum Connections -related ошибки, в то время как многие подключения ожидают удаления сборщиком мусора. Явное закрытие подключений позволяет более эффективно использовать собственные ресурсы, повышая масштабируемость и повышая общую производительность приложений.
Заметка
Чтобы развернуть высокопроизводительные приложения, часто следует использовать пул подключений. Однако при использовании поставщика данных .NET Framework для ODBC не требуется включить пул подключений, так как поставщик управляет этим автоматически.
Если один из Execute методов OdbcCommand класса вызывает неустранимая OdbcException (например, уровень серьезности SQL Server 20 или выше), OdbcConnection может закрыться. Однако пользователь может повторно открыть подключение и продолжить.
Приложение, создающее экземпляр объекта, может требовать от всех прямых OdbcConnection и косвенных вызывающих объектов достаточно разрешений на код, задав декларативные или императивные требования к безопасности. OdbcConnection создает требования безопасности с помощью OdbcPermission объекта. Пользователи могут убедиться, что код имеет достаточные разрешения с помощью OdbcPermissionAttribute объекта. Пользователи и администраторы также могут использовать средство политики безопасности доступа к коду (Caspol.exe) для изменения политики безопасности на компьютере, пользователе и корпоративных уровнях. Для получения дополнительной информации см. Code Access Security and ADO.NET.
Дополнительные сведения об обработке предупреждений и информационных сообщений из источника данных см. в разделе "События подключения".
Конструкторы
| Имя | Описание |
|---|---|
| OdbcConnection() |
Инициализирует новый экземпляр класса OdbcConnection. |
| OdbcConnection(String) |
Инициализирует новый экземпляр OdbcConnection класса с указанной строкой подключения. |
Свойства
| Имя | Описание |
|---|---|
| CanRaiseEvents |
Возвращает значение, указывающее, может ли компонент вызвать событие. (Унаследовано от Component) |
| ConnectionString |
Возвращает или задает строку, используемую для открытия источника данных. |
| ConnectionTimeout |
Возвращает или задает время ожидания (в секундах) при попытке установить соединение перед завершением попытки и созданием ошибки. |
| Container |
Возвращает объект IContainer , содержащий Componentобъект . (Унаследовано от Component) |
| Database |
Возвращает имя текущей базы данных или базы данных, которая будет использоваться после открытия подключения. |
| DataSource |
Возвращает имя сервера или имя файла источника данных. |
| DbProviderFactory |
DbProviderFactory Возвращает значение для этогоDbConnection. (Унаследовано от DbConnection) |
| DesignMode |
Возвращает значение, указывающее, находится ли текущий Component режим разработки. (Унаследовано от Component) |
| Driver |
Возвращает имя драйвера ODBC, указанного для текущего подключения. |
| Events |
Возвращает список обработчиков событий, подключенных к этому Component. (Унаследовано от Component) |
| ServerVersion |
Возвращает строку, содержащую версию сервера, к которому подключен клиент. |
| Site |
Возвращает или задает ISite объект Component. (Унаследовано от Component) |
| State |
Возвращает текущее состояние подключения. |
Методы
| Имя | Описание |
|---|---|
| BeginDbTransaction(IsolationLevel) |
При переопределении в производном классе запускает транзакцию базы данных. (Унаследовано от DbConnection) |
| BeginTransaction() |
Запускает транзакцию в источнике данных. |
| BeginTransaction(IsolationLevel) |
Запускает транзакцию в источнике данных с указанным IsolationLevel значением. |
| ChangeDatabase(String) |
Изменяет текущую базу данных, связанную с открытым OdbcConnection. |
| Close() |
Закрывает подключение к источнику данных. |
| CreateCommand() |
Создает и возвращает объект, связанный OdbcCommand с OdbcConnectionобъектом. |
| CreateDbCommand() |
При переопределении в производном классе создает и возвращает DbCommand объект, связанный с текущим подключением. (Унаследовано от DbConnection) |
| CreateObjRef(Type) |
Создает объект, содержащий все соответствующие сведения, необходимые для создания прокси-сервера, используемого для взаимодействия с удаленным объектом. (Унаследовано от MarshalByRefObject) |
| Dispose() |
Освобождает все ресурсы, используемые параметром Component. (Унаследовано от Component) |
| Dispose(Boolean) |
Освобождает неуправляемые ресурсы, используемые Component и при необходимости освобождает управляемые ресурсы. (Унаследовано от Component) |
| EnlistDistributedTransaction(ITransaction) |
Выполняет перечисление в указанную транзакцию в виде распределенной транзакции. |
| EnlistTransaction(Transaction) |
Выполняет перечисление в указанную транзакцию в виде распределенной транзакции. |
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetLifetimeService() |
Устаревшие..
Извлекает текущий объект службы времени существования, который управляет политикой времени существования для этого экземпляра. (Унаследовано от MarshalByRefObject) |
| GetSchema() |
Возвращает сведения о схеме для источника данных этого OdbcConnectionобъекта. |
| GetSchema(String, String[]) |
Возвращает сведения о схеме для источника данных, OdbcConnection используя указанную строку для имени схемы и указанный массив строк для значений ограничений. |
| GetSchema(String) |
Возвращает сведения о схеме для источника данных, OdbcConnection используя указанное имя для имени схемы. |
| GetService(Type) |
Возвращает объект, представляющий службу, предоставляемую Component или ее Container. (Унаследовано от Component) |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| InitializeLifetimeService() |
Устаревшие..
Получает объект службы времени существования для управления политикой времени существования для этого экземпляра. (Унаследовано от MarshalByRefObject) |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| MemberwiseClone(Boolean) |
Создает неглубокую копию текущего MarshalByRefObject объекта. (Унаследовано от MarshalByRefObject) |
| OnStateChange(StateChangeEventArgs) |
Вызывает событие StateChange. (Унаследовано от DbConnection) |
| Open() |
Открывает подключение к источнику данных с параметрами свойства, указанными в параметре ConnectionString. |
| OpenAsync() |
Асинхронная версия Open(), которая открывает подключение к базе данных с параметрами, указанными в параметре ConnectionString. Этот метод вызывает виртуальный метод OpenAsync(CancellationToken) с помощью CancellationToken.None. (Унаследовано от DbConnection) |
| OpenAsync(CancellationToken) |
Это асинхронная версия Open(). Поставщики должны переопределить соответствующую реализацию. Маркер отмены можно при необходимости учитывать. Реализация по умолчанию вызывает синхронный Open() вызов и возвращает завершенную задачу. Реализация по умолчанию возвращает отмененную задачу, если передана уже отмененная отменаToken. Исключения, создаваемые Open, будут передаваться через возвращаемое свойство "Исключение задачи". Не вызывайте другие методы и свойства |
| ReleaseObjectPool() |
Указывает, что дескриптор среды ODBC Driver Manager можно освободить при выпуске последнего базового подключения. |
| ToString() |
String Возвращает имя, содержащее имя , если таковое Componentимеется. Этот метод не должен быть переопределен. (Унаследовано от Component) |
События
| Имя | Описание |
|---|---|
| Disposed |
Происходит при удалении компонента вызовом Dispose() метода. (Унаследовано от Component) |
| InfoMessage |
Происходит, когда драйвер ODBC отправляет предупреждение или информационное сообщение. |
| StateChange |
Происходит при изменении состояния подключения. |
| StateChange |
Происходит при изменении состояния подключения. (Унаследовано от DbConnection) |
Явные реализации интерфейса
| Имя | Описание |
|---|---|
| ICloneable.Clone() |
Описание этого элемента см. в разделе Clone(). |
| IDbConnection.BeginTransaction() |
Этот API поддерживает инфраструктуру продукта и не предназначен для использования непосредственно из программного кода. Начинает транзакцию базы данных. |
| IDbConnection.BeginTransaction() |
Начинает транзакцию базы данных. (Унаследовано от DbConnection) |
| IDbConnection.BeginTransaction(IsolationLevel) |
Этот API поддерживает инфраструктуру продукта и не предназначен для использования непосредственно из программного кода. Начинает транзакцию базы данных с указанным уровнем изоляции. |
| IDbConnection.BeginTransaction(IsolationLevel) |
Начинает транзакцию базы данных с указанным уровнем изоляции. (Унаследовано от DbConnection) |
| IDbConnection.CreateCommand() |
Этот API поддерживает инфраструктуру продукта и не предназначен для использования непосредственно из программного кода. Создает и возвращает объект команды, связанный с подключением. |
| IDbConnection.CreateCommand() |
Создает и возвращает объект, связанный DbCommand с текущим подключением. (Унаследовано от DbConnection) |