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的对象,方法是在对象超出范围之前OdbcConnection调用 Close 或 Dispose,或者在 语句中Using
放置连接。 如果不这样做,会释放这些本机资源进行垃圾回收。 它可能不会立即释放他们。 这反过来又会导致基础驱动程序耗尽资源或达到最大限制。 这导致了间歇性故障。 例如,当许多连接等待垃圾回收器删除时,可能会遇到 Maximum Connections
相关的错误。 显式关闭连接可以更高效地使用本机资源,增强可伸缩性并提高应用程序的整体性能。
注意
若要部署高性能应用程序,必须经常使用连接池。 但是,使用适用于 ODBC 的 .NET Framework 数据提供程序时,不必启用连接池,因为提供程序会自动管理此连接池。
如果 类的Execute
OdbcCommand某个方法导致致命 OdbcException (例如,SQL Server严重级别为 20 或更高) ,则 OdbcConnection 可能会关闭。 但是,用户可以重新打开连接并继续操作。
创建 对象实例 OdbcConnection 的应用程序可以通过设置声明性或命令性安全要求,要求所有直接调用方和间接调用方对代码具有足够的权限。 OdbcConnection 使用 OdbcPermission 对象创建安全要求。 用户可以使用 对象验证其代码是否具有足够的权限 OdbcPermissionAttribute 。 用户和管理员还可以使用代码访问安全策略工具 (Caspol.exe) 在计算机、用户和企业级别修改安全策略。 有关更多信息,请参见 Code Access Security and ADO.NET。
有关处理来自数据源的警告和信息性消息的详细信息,请参阅 连接事件。
构造函数
OdbcConnection() |
初始化 OdbcConnection 类的新实例。 |
OdbcConnection(String) |
使用指定的连接字符串初始化 OdbcConnection 类的新实例。 |
属性
CanCreateBatch |
获取一个值,该值指示此 DbConnection 是否支持 DbBatch 类。 (继承自 DbConnection) |
CanRaiseEvents |
获取一个指示组件是否可以引发事件的值。 (继承自 Component) |
ConnectionString |
获取或设置用于打开数据源的字符串。 |
ConnectionTimeout |
获取或设置在尝试建立连接时终止尝试并生成错误之前所等待的时间(以秒为单位)。 |
Container |
获取包含 IContainer 的 Component。 (继承自 Component) |
Database |
获取当前数据库的名称或打开连接后要使用的数据库的名称。 |
DataSource |
获取数据源的服务器名或文件名。 |
DbProviderFactory |
获取此 DbProviderFactory 的 DbConnection。 (继承自 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) |
配置如何执行从异步可处置项返回的任务的等待。 |
适用于
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈