在软件中体悟人生 在人生中感悟软件

专注Web项目设计、实现和管理
  博客园  :: 首页  :: 联系 :: 订阅 订阅  :: 管理

【经验分享】Sqlserver和Oracle混合事务

Posted on 2008-08-28 11:07  王景  阅读(2837)  评论(10编辑  收藏  举报

直接使用:

 

直接使用

 

对事务操作进行封装

优点:将不同的数据源进行事务级的操作

缺点:该方法是用.net编写,代码适用于.net环境

思路:将不同数据源的操作,封闭成不同的命令集。在这里用oracle和sqlserver为例。然后用事务的方法处理。

 

详见代码:

 

命令集参数设置:

CommandInfo.cs

 

 调用函数:

DbHelperSQL.cs

oracle and sqlserver operator class from microsoft sqlhelper class.

 

 调用demo.

 

调用实例

 

------------------------------------------------------------------------------------------------------------------

感谢回贴的朋友,让我认识到这种方法的弊端.并且提供了新的思路.

 

用.NET Framework 2.0 中的Transactions类提供的机制来处理.

 

现将代码贴出如下:

 

Sqlserver间事务处理

 

 在运行时,会出现DTC相关错误提示.通过以下配置方法来解决该问题.

 

1.打开命令提示,运行"net stop msdtc",然后运行"net start msdtc"。
2.转至"组件服务管理工具"。
3.浏览至"启动管理工具"。
4.选择"组件服务"。
a.展开"组件服务"树,然后展开"我的电脑"。
b.右键单击"我的电脑",然后选择"属性"。
C.在 MSDTC 选项卡中,确保选中了下列选项:

网络 DTC 访问
网络管理
网络事务
XA 事务
e.另外,"DTC 登录帐户"一定要设置为"NT Authority\NetworkService"。
5.单击"确定"。这样将会提示您"MS DTC 将会停止并重新启动。
所有的依赖服务将被停止。请按'是'继续"。单击"是"继续。
6.单击"确定"关闭"我的电脑"属性窗口。

 

 改天将sqlserver和oracle的混合案例代码测试后贴出.