如何在,对二个不同库的表插入操作时,运用事务.

MJJ_Hua 2006-08-22 02:17:50
如题, 也就是说. 现在我在一个事件里要同时插入不同数据库(可能是二个服务器)的二个表,那我要用事务来达到同时插入,或异常时都不写. 但因为是不同数据库, 那连接字符串都是不同的, 那有什么办法达到这样一个要求啊.
...全文
360 19 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
Knight94 2006-08-23
  • 打赏
  • 举报
回复
to 那我上述二个SP分别是用二个连接, 那就是要在程序里产生二个事务. 那怎么才能同时提交呢,
如果是要判断二个事务都完成了,再提交, 那怎么判断呢. 请指教一下.

操作数据库关键的步骤在于command地执行,如果command执行没有异常就可以提交,否则回滚。

而对于事务提交来说,除异常的机会很小,而对于在程序端进行提交两个不同事务必然一前一后操作,这个点出了问题,没法完全保障。
Samen168 2006-08-23
  • 打赏
  • 举报
回复
如果是同一服务器多数据库事务不用特别的处理,不同服务器建议用com=
MJJ_Hua 2006-08-23
  • 打赏
  • 举报
回复
TO 对于不同连接,要分别产生transaction。

那我上述二个SP分别是用二个连接, 那就是要在程序里产生二个事务. 那怎么才能同时提交呢,
如果是要判断二个事务都完成了,再提交, 那怎么判断呢. 请指教一下.
Knight94 2006-08-23
  • 打赏
  • 举报
回复
to 我也是在程序端控制的, 但程序端的事务, 好像是针对连接的, 如CONN.BEGINTRANSACTION()

transaction由连接产生,然后加载到dbcommand上(参看dbcommand.transaction属性)。

to 不同的连接怎么用呢.

对于不同连接,要分别产生transaction。
MJJ_Hua 2006-08-23
  • 打赏
  • 举报
回复
我也是在程序端控制的, 但程序端的事务, 好像是针对连接的, 如CONN.BEGINTRANSACTION()

不同的连接怎么用呢.

Knight94 2006-08-23
  • 打赏
  • 举报
回复
to 那要在事件里执行这二个SP,如何判断都完成了,再去提交.或异常后回滚

你不应该用数据库服务器所提供的transaction,而应该用Ado.net提供的transaction类,这样就可以在程序端进行控制
MJJ_Hua 2006-08-23
  • 打赏
  • 举报
回复
顶一顶
MJJ_Hua 2006-08-22
  • 打赏
  • 举报
回复
还是不太清楚. 我写个例子,比如说. 我二个插入操作写成存储过程
create procedure sp_a
as
begin transaction
insert into table_a values(1,2)
commit transaction

create procedure sp_b
as
begin transaction
insert into table_b values(1,2)
commit transaction

那要在事件里执行这二个SP,如何判断都完成了,再去提交.或异常后回滚
Knight94 2006-08-22
  • 打赏
  • 举报
回复
to 怎么判断二个事务都完成了. 请教.

你要分清楚,command地执行和事务的提交这是两个不同的概念。
MJJ_Hua 2006-08-22
  • 打赏
  • 举报
回复
对两个数据库操作分别产生事务,等两个操作都完成了在分别提交。
B:用二个事务,等都完成后才提交


怎么判断二个事务都完成了. 请教.
MJJ_Hua 2006-08-22
  • 打赏
  • 举报
回复
都完成了.
sunjay117 2006-08-22
  • 打赏
  • 举报
回复
也可以用com+啊
using System.EnterpriseServices;
Knight94 2006-08-22
  • 打赏
  • 举报
回复
to 怎么判断二个事务都变成了

什么意思
MJJ_Hua 2006-08-22
  • 打赏
  • 举报
回复
对两个数据库操作分别产生事务,等两个操作都完成了在分别提交。
B:用二个事务,等都完成后才提交


怎么判断二个事务都变成了. 请教.
bjbr 2006-08-22
  • 打赏
  • 举报
回复
有三种办法可能可行:
A:Com+,找MSDN
B:用二个事务,等都完成后才提交
C:适用于同服务器的二个库,在第一个库里做第二个库的某表的视图,然后操作视图
yly19730201 2006-08-22
  • 打赏
  • 举报
回复
看PETSHOP上就有
Knight94 2006-08-22
  • 打赏
  • 举报
回复
对两个数据库操作分别产生事务,等两个操作都完成了在分别提交。
  • 打赏
  • 举报
回复
路过看看 , 可以贴个例子看看吗?
yly19730201 2006-08-22
  • 打赏
  • 举报
回复
使用com+的事物支持,就是.net里的企业服务那个命名空间下的

62,244

社区成员

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

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

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

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