OdbcConnection 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示与数据源的打开连接。
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 或 Dispose,或通过将连接置于 Using
语句中来显式关闭任何打开的 OdbcConnection 对象。 如果不这样做,就可释放这些本机资源来垃圾回收。 它可能不会立即释放他们。 反过来,这最终可能导致基础驱动程序耗尽资源或达到最大限制。 这导致了间歇性故障。 例如,在许多连接等待垃圾回收器删除时,可能会遇到 Maximum Connections
-related 错误。 显式关闭连接可以更有效地使用本机资源、增强可伸缩性和提高整体应用程序性能。
注意
若要部署高性能应用程序,经常必须使用连接池。 但是,使用用于 ODBC 的 .NET Framework 数据提供程序时,不必启用连接池,因为提供程序会自动管理它。
如果 OdbcCommand 类的 Execute
方法之一导致致命 OdbcException(例如,SQL Server 严重级别为 20 或更高),则 OdbcConnection 可能会关闭。 但是,用户可以重新打开连接并继续。
创建 OdbcConnection 对象的实例的应用程序可以通过设置声明性或命令性安全要求来要求所有直接和间接调用方具有对代码的足够权限。 OdbcConnection 使用 OdbcPermission 对象创建安全要求。 用户可以使用 OdbcPermissionAttribute 对象来验证其代码是否具有足够的权限。 用户和管理员还可以使用代码访问安全策略工具(Caspol.exe)修改计算机、用户和企业级别的安全策略。 有关详细信息,请参阅 代码访问安全和 ADO.NET。
有关处理数据源中警告和信息性消息的详细信息,请参阅 连接事件。
构造函数
OdbcConnection() |
初始化 OdbcConnection 类的新实例。 |
OdbcConnection(String) |
使用指定的连接字符串初始化 OdbcConnection 类的新实例。 |
属性
CanCreateBatch |
获取一个值,该值指示此 DbConnection 实例是否支持 DbBatch 类。 (继承自 DbConnection) |
CanRaiseEvents |
获取一个值,该值指示组件是否可以引发事件。 (继承自 Component) |
ConnectionString |
获取或设置用于打开数据源的字符串。 |
ConnectionTimeout |
获取或设置在终止尝试并生成错误之前尝试建立连接的时间(以秒为单位)。 |
Container |
获取包含 Component的 IContainer。 (继承自 Component) |
Database |
获取打开连接后要使用的当前数据库或数据库的名称。 |
DataSource |
获取数据源的服务器名称或文件名。 |
DbProviderFactory |
获取此 DbConnection的 DbProviderFactory。 (继承自 DbConnection) |
DesignMode |
获取一个值,该值指示 Component 当前是否处于设计模式。 (继承自 Component) |
Driver |
获取为当前连接指定的 ODBC 驱动程序的名称。 |
Events |
获取附加到此 Component的事件处理程序的列表。 (继承自 Component) |
ServerVersion |
获取一个字符串,其中包含客户端连接到的服务器的版本。 |
Site | (继承自 Component) |
State |
获取连接的当前状态。 |
方法
事件
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) |
扩展方法
ConfigureAwait(IAsyncDisposable, Boolean) |
配置如何执行从异步可释放项返回的任务的 await。 |