修改远程服务器数据时 添加 事务:请有经验者进来看看!---加急!!!!!
郭大侠_ 2004-09-24 02:09:45
CREATE PROCEDURE gsh_TransferData_down(@dwbh varchar(2)) AS
declare @ssql varchar(400)
declare @serverip varchar(20)
declare @password varchar(40)
--declare @dwbh varchar(2)
--select @dwbh='06'
set XACT_ABORT on
select @serverip='222.38.196.*'
select @password='asdf'
begin distributed transaction t1
select @ssql='insert into recieveSql(发送单位,语句,接收单位,操作表,接收时间,原编号,类型,操作员,文件)
SELECT 发送单位,语句,'','+@dwbh+','',操作表,getdate(),编号,类型,操作员,文件 FROM
OPENROWSET(''MSDASQL'', ''Driver=SQL Server;Server='+@serverip+';UID=sa;PWD='+@password+''',transferERP.dbo.sendsql)
where 接收单位 like ''%,'+@dwbh+',%'' and 执行单位 not like ''%,'+@dwbh+',%'' order by 编号'
--print @ssql
exec (@ssql)
select @ssql='update OpenRowset(''MSDASQL'', ''Driver=SQL Server;Server='+@serverip+';UID=sa;PWD='+@password+''',transferERP.dbo.sendsql)
set 执行单位=执行单位+(case 执行单位 when '''' then '','+@dwbh+','' else '''+@dwbh+','' end) where 接收单位 like ''%,'+@dwbh+',%'' and 执行单位 not like ''%,'+@dwbh+',%'''
--print @ssql
exec (@ssql)
if @@error<>0 goto err
commit tran t1
goto finish
err:
rollback tran t1
finish:
set XACT_ABORT off
GO
我想在 同时修改本地和远程数据库 的语句中添加事务。
实际运行时出现错误 ,该打开的服务我都打开了,怎么回事儿??