一聚教程网:一个值得你收藏的教程网站

热门教程

创建事务性脚本 (用mts管理事务、组件)

时间:2022-06-30 11:15:44 编辑:袖梨 来源:一聚教程网

商业应用程序常常需要具有在事务内部运行脚本和组件的能力。事务是一种服务器操作,即使该操作包括很多步骤(例如,定货、查看存货、付帐等),也只能整体返回操作是成功还是失败。用户可以创建在事务内部运行的 ASP 脚本,如果脚本的任何一部分失败,整个事务都将会终止。
ASP 事务处理是以 Microsoft Transaction Server (MTS) 为基础的。Microsoft Transaction Server (MTS) 是一个事务处理系统,用于开发、配置和管理高性能、可分级的、有鲁棒性的企业 Internet 和 Intranet 服务器应用程序。Transaction Server 为开发分布式的,基于组件的应用程序提供了一个应用程序设计模型。它也为配置和管理这些应用程序提供了一个运行环境。
创建事务性脚本的功能内置在 Internet Information Server 和 Personal Web Server 中。如果您安装了 Microsoft Transaction Server,就可以将组件打包,以使组件在事务内部运行。
关于事务
事务是整体成功或失败的操作。事务处理用于对数据库进行可靠地更新。在对数据库进行许多相关更改或同时更新多个数据库时,要保证所有更改都被正确执行。如果这些更改中的任何一个失败,都需要恢复数据库表的原始状态。
如果没有 MTS,您就需要编写脚本和组件,手工跟踪请求的更改情况,以便在某些更改失败时恢复数据。使用 MTS,您只需简单的将您的脚本和组件声明为“需要事务”并让 MTS 处理事务的一致性。事务处理只适用于数据库访问;MTS 不能对文件系统或其他的非事务性资源的更改进行恢复操作。应用程序所访问的数据库必须为 MTS 所支持。目前,MTS 支持 SQL Server 及任何支持 XA 协议(由 X/Open 协会制定)的服务器。MTS 将继续扩展对其他数据库的支持。
事务不能跨越多个 ASP 页。如果一个事务需要来自多个组件的对象,则须将使用这些对象的操作组合在一个 ASP 页中。例如,假定有一个组件用于更新工资单数据库,还有一个组件用于更新人力资源数据库中的员工记录。为了记录一个员工的新的工资信息,您需要编写这样一个脚本,该脚本在一个事务环境中调用这两个组件,一个用于更新工资单数据库,另一个用于更新人力资源数据库中的员工等级。
声明事务性脚本
在将一个页声明为事务性时,此页中的任何脚本命令和对象都运行在同一个事务环境中。Transaction Server 处理生成事务的细节并决定事务成功(提交)或失败(终止)。要将某个页声明为事务性,可在页首添加 @TRANSACTION 指令:

热门栏目