修改远程服务器数据时 添加 事务:请有经验者进来看看!---加急!!!!!

郭大侠_ 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

我想在 同时修改本地和远程数据库 的语句中添加事务。
实际运行时出现错误 ,该打开的服务我都打开了,怎么回事儿??

...全文
152 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
General521 2004-09-25
  • 打赏
  • 举报
回复
我想你用的是代理服务器上的网,代理服务器上网的在局域网内可以实现连接.但是你没有公网IP地址,
所以在internet 上的服务器就不行,你必须进行内外网的端口映射才行.而这项工作不是我们自己能做的,这需要在代理服务器上操作.
venket 2004-09-25
  • 打赏
  • 举报
回复
你看看那个地止有没有问题啊
郭大侠_ 2004-09-24
  • 打赏
  • 举报
回复
备注:我将远程服务器设为本地局域网服务器时,运行能通过,一旦改为internet 上的服务器就不行了。

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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