"connection failure"错误,折磨死我了

rightwxd 2003-07-26 04:16:48
我用ado连接sqlserver。

整个程序使用一个adoconnection。
我的代码在我的机器上使用一切正常,在同屋内的其他机器上也没有问题。

但是,拿到另一个屋的机器上,就出现了问题。
(我的ip是 192.168.1.XXX,另一个屋是192.168.0.XXX)。
adoconnection正常,显示连接成功。
但是,在用adoQuery执行sql语句的时候,有时候就会失败,
(提示 connection failure)

注意,是有时候失败。也就是说,偶尔好用,偶尔不好用。
有时候是这条语句执行失败,过一会这条没问题了,另一条又失败。
不知道什么原因。我快被折磨死了。

大家觉得是网络的问题、还是服务器连接的用户太多?
请高手帮忙解释一下,万分感谢。
...全文
2327 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
rightwxd 2003-07-27
  • 打赏
  • 举报
回复
就这样说吧

我把adoconnection 的 connected属性设为true,没问题
我把以这个connection为连接的adoquery的 active 属性设为 true的时候,
就会弹出错误“connection failure”!
rightwxd 2003-07-27
  • 打赏
  • 举报
回复
ping了,网络很畅通,

连接超时是一个什么概念,
是不是建立连接的时候,如果超过这个时限就失败?
一旦连接建立后,是不是,这个参数就没有用了。

我现在连接能建立,而且很快,就是执行sql的时候,偶尔提示 连接失败 。
想改commandtimeout,但是觉得30秒足够了
dickeybird888 2003-07-27
  • 打赏
  • 举报
回复
我估计因为你已经跨越了网段,你可以试着ping用另一个屋的机器ping一下你的sql服务器,
看是否能够ping通,如果能的话就与ip无关,否则请设置直到ping通就可以了
ls_hndd 2003-07-27
  • 打赏
  • 举报
回复
adoconnection中有一个超时连接选项(timeout),一般默认为30秒,你把它设成0则无时间限制。因垮网段是以TCP/IP协议方式连的,比同网段的命名管道方式连或取数据事件要慢得多
lcy8668 2003-07-27
  • 打赏
  • 举报
回复
是不是与网络协议有关,用其他协议试试看
rightwxd 2003-07-27
  • 打赏
  • 举报
回复
结帖。

初步诊断为 两个子网之间的路由配置有问题。

应该不是sql server的问题。

感谢大家
rightwxd 2003-07-26
  • 打赏
  • 举报
回复
源程序
yedexi 2003-07-26
  • 打赏
  • 举报
回复
(我的ip是 192.168.1.XXX,另一个屋是192.168.0.XXX)
出错与IP无关。
你是用源程序,还是编译好的.EXE文件?
rightwxd 2003-07-26
  • 打赏
  • 举报
回复
connectiontimeout 15
commandtimeout 30

都是默认值,没改过。
足够了吧,
brown0432 2003-07-26
  • 打赏
  • 举报
回复
简单处理。可以用try..... except.......end;
呵呵 。。
rightwxd 2003-07-26
  • 打赏
  • 举报
回复
代码很简单

udmado模块中定义了adoconnection。连接到我机器的服务器上。
设计时和代码运行时,连接都是成功的,没有问题。

在所有的涉及到adoquery.open,或者adoquery.actived:=true的地方,
都可能会出现这个错误。不管是设计时还是运行时。
是有时候出错,有时候不出。


连接超时?什么情况会导致连接超时?我应该设置什么属性防止连接超时,或者缓解这种情况。

谢谢
txlicenhe 2003-07-26
  • 打赏
  • 举报
回复
是不是超时?
friendliu 2003-07-26
  • 打赏
  • 举报
回复
把代码贴出来看看

27,582

社区成员

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

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