不同网段下,mssql 2000 如何实现分布式事务(100分)

  • 主题发起人 主题发起人 btt
  • 开始时间 开始时间
B

btt

Unregistered / Unconfirmed
GUEST, unregistred user!
不同网段下,mssql 2000 如何实现分布式数据库事务
 
好像要先做好路由吧,路由后就跟同一网段一样了,没做了,但从理论上来说是如此的
 
楼主说的是同一局域网不同网段吗?
 
to MyKeer
同一局域网不同网段。
 
以前做过, 谈几个方面, 可能不全, 欢迎拍砖.

假设有Server A和Server B,Server A为分布式事务的发起者(originator)
1. 首先要保证AB互相ping通(别问我通过什么手段AB互相ping通)
2. A和B全部启动DTC(Distributed Tranasction Coordinator)
A和B服务器属性中打开Enforce Distributed Transactions
3. 将B加入到A的linkedserver中(假设Server B的IP为192.168.123.124)
4. BEGIN DISTRIBUTED TRANSACTION
update 表名 set ...(A中, 或其它若干条更新语句)
update [192.168.123.124].DB名.dbo.表名 set .... (B中, 或其它若干条更新语句)
COMMIT TRAN
 
那你的两个不同网段的局域网是否通正常相互通信??
 
to MyKeer
正常相互通信,但如果不加分布式事务,没有问题,如果加了BEGIN DISTRIBUTED TRANSACTION ,提示‘不能在指定的事务处理器中获得新事务’
 
to yyh5x
这样不行,提示‘不能在指定的事务处理器中获得新事务’
 
用ASTA,Remobjects之类的工具吧,一个就可以了
 
to 超级牛X
能否具体些?
 
哈哈
我是想入门者,当然不会,请教了这么长时间都所问非所答,不是饭桶是什么?
你不是也不会吗!真是个饭桶!
 
最简单的方法,操作系统要求win2000以上
WIN2000以上一个网卡,可设置多少IP地址,你可以不同网段都设置一个IP地址,不就可以了!

如这个方法不好就只有加个路由器了,如你采用分布式数据,通信协议就会采用TCP/IP.而TCP/IP在不同网段是不能通信的,为了解决这个方法只有加路由器.

还有一个方法,就是不用TCP/IP协议.
 
to phnb
WIN2000一个网卡,可设置两个不同网段IP地址,试了不行!
不用TCP/IP协议,用什么协议???
 
WIN2000一个网卡,可设置两个不同网段IP地址,试了不行!
你可以在不同网段用SQL的客户端程序,连接试一下.我用过设置多个网段,可以访问多个网段上的IP地址.如果SQL连接成功,你最好看一下软件的网络要求情况.可能是你的软件有问题!
还有你们网络分段了,那一定用了路由器吧!是不是路由器设置有问题!


不用TCP/IP协议,我也没有试过,只是看过MS SQL支持多种协议(当我乱讲).
不用TCP/IP协议应在你公司也不可能,网络分段就是为了管理,而想要分段简单的方式就是采用TCP/IP!
 
to phnb
我说的是不同网段下,mssql 2000 如何实现分布式事务。而连接试没问题的。
如果加了BEGIN DISTRIBUTED TRANSACTION ,提示‘不能在指定的事务处理器中获得新事务’ 。
 
需要用用務協調器, 我用的是com+, 局域网不同网段能夠實現, 但遠程用vpn就無法實現
 
实际上yyh5x使用的链接服务器方式挺好
不同网段计算机访问问题属于网络配置问题,跟程序没有关系,
现在如果使用链接服务器访问多个数据库就像访问一个一样,很方便的。
 
有没有更具体点的解释啊?强人们!
BEGIN DISTRIBUTED TRANSACTION
update 表名 set ...(A中, 或其它若干条更新语句)
update [192.168.123.124].DB名.dbo.表名 set .... (B中, 或其它若干条更新语句)
COMMIT TRAN
这个写在哪里啊?
 
多人接受答案了。
 
后退
顶部