dotConnect对甲骨文入门指南(六):使用事务

【下载dotConnect对甲骨文最新版本】

dotConnect对甲骨文(原名OraDirect.NET)建立在ADO。净技术上,为基于Oracle数据库的应用程序提供完整的解决方案。它为设计应用程序结构带来了新的方法,提高工作效率,使数据库应用程序的开发更简便。

使用事务

<李>

了解事务

<李>

本地事务

<李>

OCI模式下的分布式事务

<李>

直接模式下的分布式事务

<>强了解事务

事务是一个或多个被视为单个工作单元的操作,完全完成或完全无效(“全部或无“)。如果事务中某一点发生故障,则所有更新都可以回滚到其事务前状态。事务必须符合酸属性——原子性,一致性,隔离性和持久性,以确保数据一致性。

如果一个事务涉及同一数据库中的多个表,那么PL/SQL中的显式事务通常执行得更好。您可以在SQL中使用提交和回滚语句分别修复和放弃当前PL/SQL块中以前的命令。

否,则可以通过设计用于Oracle数据库的库/程序集中的特殊命令类来实现具有普通SQL的事务,例如,您可以使用devart.data.oracle。oraclecommand:在oraclecommand的连接上启动事务,通过此oraclecommand执行多个SQL语句,并在必要时提交/回滚所有操作。请参阅本地事务主题中的示例。

本文描述了从。网代码(不包含envolving PL/SQL事务)操作事务的方法,这是处理事务最常见的情况。关于您的任务,您可以选择要实现的事务类型——本地或分布式。当事务是单阶段事务并且由数据库直接处理时,被认为是本地事务的事务。分布式事务是一个影响多个资源的事务,它由事务监视器协调,并使用故障保护机制(如两阶段提交)来解决事务。

<强>注意:甲骨文不支持SQL Server中使用的可升级事务,分布式事务的实现在OCI和直接模式下有所不同。还要考虑到TransactionScope(分布式事务)仅在处理时完成。

<强>本地事务

dotConnect对甲骨文具有用于执行本地事务的OracleTransaction对象。当一个连接对象上的多个操作应作为一个事务执行时,使用OracleTransaction。应用程序通过对OracleConnection对象调用BeginTransaction来创建OracleTransaction对象。与事务相关联的所有后续操作(例如,提交或中止事务)都在OracleTransaction对象上执行.OracleConnection和OracleTransaction之间的相关性始终为1:1,因此,一次只能为单独的OracleConnection创建一个OracleTransaction。

<强>例子:

下面的示例创建OracleConnection和OracleTransaction。它还演示了如何使用BeginTransaction,提交和回滚方法。

1

dotConnect对甲骨文入门指南(六):使用事务