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

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年身体健康,工作顺利
...全文
79 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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