chu*_*h97 0 .net db2 com+ ibm-midrange
我有一个问题,我必须调用AS400 db2从我的.net调用一系列插入/更新存储过程,然后更新一些SQL2005表,如果AS400数据库中的所有内容都很好.我正在使用的驱动程序没有分布式事务,因此我想知道您是否可以使用任何IBM iSeries Drivers for DB2来创建将参与分布式事务的COM +/.NET组件.请让我知道,如果之前有任何人做过这样的事情或任何指针将不胜感激.
你在用哪个司机?
IBM的DB2 Connect支持Windows DTC管理的分布式事务.
Microsoft的DB2驱动程序(包装在Microsoft Host Integration Server中)也执行事务.
我听到了两件不同的事情.您希望执行跨越SQL和DB2的事务.并且您还想构建一个参与分布式事务的组件.这些可以一起完成,但前者不需要后者.
使用.NET 2.0中的System.Transactions类,您可以执行以下操作:
TransactionOptions options = new TransactionOptions();
options.IsolationLevel = IsolationLevel.Serializable;
options.Timeout = TransactionManager.DefaultTimeout;
using(var scope = new TransactionScope(TransactionScopeOption.Required,
options,
EnterpriseServicesInteropOption.Full) )
{
TransactionalWorkinDb2();
TransactionalWorkinSql();
scope.Complete();
}
Run Code Online (Sandbox Code Playgroud)
结果将是跨越DB2和SQL的分布式事务,但如果您看到我的意思,它不是参与分布式事务的组件.
另一种方法是使用EnterpriseServices/COM +模型来定义执行某些操作的组件,并将该组件标记为事务性.这也有效,但不需要在.NET中执行分布式事务.
| 归档时间: |
|
| 查看次数: |
1808 次 |
| 最近记录: |