导航
  • 主页
  • 基础类
  • 应用实例
  • 新技术前沿

分布在两台电脑的两个数据库中的相同一张表,共享数据的问题(存储过程实现)单机已经实现,但是两台就行,高手指点

wangsiyu32 2007-12-26 04:12:47
if exists (select name='proc_ss' from sysobjects where name='proc_ss' and type='P')
drop procedure proc_ss
go

create procedure proc_ss
as
set ansi_warnings on

update b
set BH_ZHU=a.BH_ZHU, BH=a.BH, SSMC=a.SSMC, SSJC=a.SSJC, LB=a.LB, BL=a.BL, BZ=a.BZ, LRR=a.LRR, LRSJ=a.LRSJ, BS=a.BS, BGRQ=a.BGRQ
from opendatasource ('sqloledb', 'data source = IP1(异地); user ID = sa; password = sa').ses.dbo.cqgl_ss a join
opendatasource ('sqloledb', 'data source = IP2(本机); user ID = sa; password = sa').sms.dbo.cqgl_ss b on a.BH_ZHU=b.BH_ZHU and a.BH=b.BH and a.SSJC=b.SSJC

insert into opendatasource ('sqloledb', 'data source = IP2(本机); user ID = sa; password = sa').sms.dbo.cqgl_ss ([BH_ZHU], [BH], [SSMC], [SSJC], [LB], [BL], [BZ], [LRR], [LRSJ], [BS], [BGRQ])
select [BH_ZHU], [BH], [SSMC], [SSJC], [LB], [BL], [BZ], [LRR], [LRSJ], [BS], [BGRQ]
from opendatasource ('sqloledb', 'data source = IP1(异地); user ID = sa; password = sa').es.dbo.cqgl_ss a
where not exists(select 1 from es.dbo.cqgl_ss where a.BH_ZHU=BH_ZHU and a.BH=BH and a.SSJC=SSJC)
go
--==========================
exec proc_ss
执行存储过程时,提示对象名b无效。
单机的时候没有这个问题,是不是不同IP的情况下不能使用别名?要怎么解决呢?
请指点初学者。
顺祝2008年身体健康,工作顺利
...全文
41 点赞 收藏 回复
写回复
回复
切换为时间正序
请发表友善的回复…
发表回复

还没有回复,快来抢沙发~

发动态
发帖子
MS-SQL Server
创建于2007-09-28

3.2w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
社区公告
暂无公告