|zyciis| 用WebService更新数据的时候如何保证数据库的数据完证性 谢谢 急

zyciis70 2009-02-20 11:38:28
环境:
A网站有A数据库 用于用户在网上下订单
B服务器有B数据库,用于保存在和个地区的订单汇总
------------------------------------------------
A数据库订单更新到B的过程为
A.SaleOrder
ID Price IsSendToServer SendDate
1 100 0 1900-1-1
2 200 1 2009-0-20 10:12:13
3 300 0 1900-1-1
比如上面是我要插入到B服务器的数据
那么首先查询出未插入到服务器的数据得到了
ID
1
3
然后用for语用

启动事务
for(...)
{
用WebService插入到服务器去(因为服务器不提供SQL链接)
如果成功,更新已经发送和发送时间 IsSendToServer SendDate

}
提交事务
---------------------------------------
上面的问题是,
如果当我的订单1更新到服务器的时候,而更新本地的时候出错
这时数据就会回滚,但我的Webservice里面的怎么回滚呢,因为他们不在同一个事务啊

那这种情况,如何来保证数据的完整性呢

谢谢
...全文
135 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
bj890 2009-02-20
  • 打赏
  • 举报
回复
up
zzc205 2009-02-20
  • 打赏
  • 举报
回复
两个库实例要维持事务还是要数据库自身的机制才是最安全的。oracle有dblink可以做到,sqlserver有相关支持吗?
  • 打赏
  • 举报
回复
客户端应该独立地处理异常。如果服务器端执行异常,顶多,为了安全起见,webService可能隐藏详细的服务器端异常信息而仅抛出一个非常简单的异常信息,但是总之是会向客户端抛出异常的,你的调用WebService的客户端程序总会捕捉到异常的。即使关闭服务器,客户端也会收到异常信息的。
zyciis70 2009-02-20
  • 打赏
  • 举报
回复
RE:
看的有点晕
是下面的意思吗?

if(本地更新)
{
如果成功,通过services更新b服务器
if(services更新成功)
返回更新成功信息,提交本地更新
else
本地回滚
}
else
{
不成功,则services不调用
}
---------------------------
对,但是这里的问题是
看的有点晕
是下面的意思吗?

if(本地更新)
{
如果成功,通过services更新b服务器
if(services更新成功)
返回更新成功信息,提交本地更新
//在提交本地更新的时候,出错了,这时就会让本地回滚,但WebService已经提交了 怎么回滚?
else
本地回滚

}
else
{
不成功,则services不调用
}
lovehongyun 2009-02-20
  • 打赏
  • 举报
回复
看的有点晕
是下面的意思吗?

if(本地更新)
{
如果成功,通过services更新b服务器
if(services更新成功)
返回更新成功信息,提交本地更新
else
本地回滚
}
else
{
不成功,则services不调用
}
huguosheng_89412 2009-02-20
  • 打赏
  • 举报
回复
在更新本地的时候,在回滚的方法里面去调用Webservice呢?如果Webservice出现异常,就让本地也回滚。

具体没试过,不知道这样可不可行
代码转载自:https://pan.quark.cn/s/a4b39357ea24 XMall-Front 基于Vue开发的XMall商城前台页面 宣传视频 作者亲自制作 点我观看 项目已部署,在线Demo 前台商城:http://xmall.exrick.cn/ 后台管理系统:http://xmadmin.exrick.cn/ 感谢 yucccc 的开源 vue-mall 项目提供前端页面及框架支持 后端全部重新开发接口,实现后台系统管理,后端接口项目请跳转至 xmall 项目仓库查看 新增与优化 [x] 优化页脚、增加商品搜索框组件 [x] 优化登录注册界面 [x] 新增搜索页面,实现高亮分页搜索 [x] 新增捐赠页面,捐赠列表显示 [x] 全部商品页面实现分页 [x] 优化订单详情,实现查看订单进度,可对订单进行处理 [x] 实现生成订单接口、优化地址管理编辑选择 [x] 实现查看个人订单分页 [x] 接入XPay个人免签收款支付系统 [x] 首页升级! 重构首页,后台可配置,包括3D轮播图 [x] 新增分类查看品牌周边等 极验验证码移除文档 所用技术 Vue 2.x Vuex Vue Router Element UI ES6 webpack axios Node.js 第三方SDK - ~~极验Test-button人机验证码~~ 因其收费详见极验验证码移除文档 第三方插件 - hotjar:一体化分析和反馈 - ~~搜狐畅言评论插件~~ 垃圾广告评论插件 现已更换 Gitment 本地开发运行 启动后端 xmall 项目后,在 中修改你的后端接口地址配置 Gitment评论配置见 Gitment 使用到的页面为 中复制粘贴替换你的 hotjar 代码...
内容概要:本文围绕“基于优化的自适应差分导纳算法的改进最大功率点跟踪(MPPT)研究”展开,提出一种高创新性的MPPT控制策略,旨在提升光伏系统在复杂工况下的能量转换效率。通过引入优化机制与自适应差分导纳法相结合,有效克服传统方法在光照突变或部分遮阴条件下存在的振荡大、响应慢等问题,实现快速、精确的最大功率点追踪。研究采用Matlab进行算法建模与仿真验证,展示了所提方法在动态环境下的优越跟踪性能和系统稳定性,适用于光伏发电系统的高效能量管理。; 适合人群:具备一定电力电子与控制理论基础,从事新能源发电、光伏系统控制、智能优化算法研究的科研人员及工程技术人员,尤其适合研究生及以上学历或工作1-3年的相关领域研发人员。; 使用场景及目标:①应用于光伏发电系统中提升MPPT控制精度与响应速度;②为研究自适应控制算法在可再生能源系统中的优化设计提供理论支持与仿真案例;③服务于智能电网、分布式能源系统中的能量优化管理研究。; 阅读建议:建议结合Matlab代码深入理解算法实现细节,重点关注自适应机制与优化策略的融合逻辑,并通过仿真实验对比传统P&O、INC及标准导纳法的性能差异,进一步掌握算法在不同工况下的鲁棒性与实用性。

62,266

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧