SQL数据远程传输问题,十万火急,务必帮忙,绝对加分!!!

qffhq 2002-08-17 10:33:15
我在做SQL的远程数据传输时,用的是链接服务器+存储过程+分布式事务进行处理的,
但存在不稳定的问题.



两台机器使用Win2000Server平台+Sql7.0,用Modem拨号做远程连接.
具体做法如下,两台SQL的MSDTC服务必须启动,设两台机器分别为数据中心A端、客户端B
在A端设置连接服务器B,B端设置链接服务器A,为了保证数据传输的准确、安全、一至性,
使用了存储过程和分布式事务(DTS TRAN),具体的事务处理过程如下
SET XACT_ABORT ON
BEGIN DISTRIBUTED TRAN
----处理语句 从客户端取数据写入服务器端
Insert Into [tables]
SELECT * From [Clinet].[dbo].[db].[tables]
----处理语句.....
COMMIT TRAN
SET XACT_ABORT OFF

在具体实施中发现,有时事务无法启动,提示说OLE提供者不支持分布式事务,但我查了相关
文档,文档中明确指出OLE FOR SQL 的提供者支持分布式事务。
最后发现,两台机器重启后,第一次事务正常,有一台重启后,再进行连接就会有导常,查了
相关的资料,好像有文章说到有“孤儿连接”的问题,说是计算机文件处理及网络发现客户端
已经断开,会做一些处理,保证下一次的连接,而SQL的连接由于连接速度慢,无法识别客户端
的断开,所以下次连接后事务无法正常启动.


!!!!!!!!!我已经无招可使了,帮我,!!!!!!!

Help,Help

...全文
39 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
mnm0756 2003-03-23
  • 打赏
  • 举报
回复
mark
cnxmouse 2003-03-23
  • 打赏
  • 举报
回复
http://lollygagger.org/artists/manfish/GeorgieW.swf

请将他发个你所有的在线网友!

看到的人请将这个发给你的所有网友!!!
打倒美帝国!!!
布屎下台!!!
pengdali 2003-03-23
  • 打赏
  • 举报
回复
对于存储过程,SQL Server 使用最初创建存储过程时的 SET ANSI_NULLS 设置值。无论随后何时执行存储过程,SET ANSI_NULLS 的设置都还原为其最初使用的值并生效。当在存储过程内唤醒调用 SET ANSI_NULLS 时,其设置不更改。

在执行分布式查询时应将 SET ANSI_NULLS 设置为 ON。

在执行分布式查询时应将 ANSI_WARNINGS 设置为 ON。

企业管理中的ANSI_NULLS和ANSI_WARNINGS选项不对,但没有方法改动。在查询分析器可以设置ANSI_NULLS和ANSI_WARNINGS选项,而且默认值是对的。所以能在查询分析器创建此类存储过程,而不能在企业管理器创建此类存储过程。

就是:
create proc 名
as
SET ANSI_NULL_DFLT_ON on --注意
SET ANSI_WARNINGS on

select * from open...
pengdali 2003-03-23
  • 打赏
  • 举报
回复
本地和远程都需要启动
DISTRIBUTED TRANSACTION COORDINATOR服务。
fishliu2000 2003-03-23
  • 打赏
  • 举报
回复
gz
1097 2002-09-21
  • 打赏
  • 举报
回复
我也遇到同样问题,在enterprise manager的security下的linked server增加linked server后,若在enterprise manager的tools中query anlyse使用t-sql语句select,update,delete都可访问远程数据库,但单独打开query analyse就会出现ole db连接问题。还有其他远程访问的方法吗?sql server为什么这么难用,比ORACLE差远了。
gxdq 2002-09-21
  • 打赏
  • 举报
回复

写个存储过程,使用微软的 openrowset() or openquery() 函数,别搞什么其他的冬冬,老老实实用基本的东西做就行了。这也是微软内部推荐的连接方式


microlong 2002-09-20
  • 打赏
  • 举报
回复
好象微软也没有什么解决办法:(
su369 2002-09-20
  • 打赏
  • 举报
回复
关注
niya417 2002-09-20
  • 打赏
  • 举报
回复
请微软高手贴一个具体详细地说明吧,好多人都为这个头疼呢
BES 2002-09-20
  • 打赏
  • 举报
回复
up 学习
qffhq 2002-08-31
  • 打赏
  • 举报
回复
我是传文件没问题,做单方的事务也没问题,就是双方的分布式事务有问题

是不是SQL的Bug呢?

handsomeduke 2002-08-29
  • 打赏
  • 举报
回复
向学习学习,帮你UP
TianHuNan 2002-08-29
  • 打赏
  • 举报
回复
需要使用,了解学习
xqchang 2002-08-29
  • 打赏
  • 举报
回复
关注
sunseawf 2002-08-29
  • 打赏
  • 举报
回复
你的两台机子是拨号连接,直接可以查到对方?
不用固定IP?详解
leimin 2002-08-18
  • 打赏
  • 举报
回复
check 2台SERVER的DNS的设置是否相同,么保持一直。
qffhq 2002-08-18
  • 打赏
  • 举报
回复
我说的是事务启动时有问题,方法应该没问题,在局网上没一点问题,
QQ;81370026
china_hfz 2002-08-18
  • 打赏
  • 举报
回复
exec sp_addlinkedserver 客户端服务器名称

还有一句应改为:
Insert Into [tables]
SELECT * From [Clinet].[db].[dbo].[tables]

34,593

社区成员

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

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