Microsoft][ODBC SQL Server Driver]超时已过期 ,怎么解决

时间:2022-03-01 02:29:13
环境:     OS:  window2000 server 
          Database:  Sql Server 2000 中文企业版 +sp4
          客户和服务均不在一台机上运行。
 客户的管理系统在正常运行近一星期后经常出现“[ODBC SQL server dirvier] 超时已过期”错误,请高手帮忙出出主意

14 个解决方案

#1


网上好像都是这样做的唉,不过有的解决了,有的没解决,不知道有没有用
http://wenku.baidu.com/view/e844e68502d276a200292e7e.html

#2


试过了,但是没有用

#3


CONN 在需要的时候再进行连接 不能始终保持连接 否则 多大的设置 都会超时的

#4


连接用了,就关闭

#5


连接用了就关闭,下次用时,在打开,

#6


该回复于2012-08-27 11:32:37被版主删除

#7


该回复于2012-08-27 11:32:43被版主删除

#8


在SQL的工具→选项→高级,将查询超时(秒)(Q)改为“0”,若还有此问题,再将登录超时(秒)(L)改大点,如20

#9


引用 8 楼  的回复:
在SQL的工具→选项→高级,将查询超时(秒)(Q)改为“0”,若还有此问题,再将登录超时(秒)(L)改大点,如20

+1

#10


一般是大批量数据操作时容易出这个错误。
应该单独修改批量操作的超时设置,而不推荐更改全部的超时设置,否则多用户冲突时界面会有很长时间的呆滞。
    Dim cn As Connection
    Set cn = New Connection
    cn.ConnectionString = "..."
    cn.ConnectionTimeout = 30
    cn.Open

#11


确实是大批量的数据操作,cn.ConnectionTimeout = 1000,还是解决不了啊

#12


Set cn = New ADODB.Connection
Set Rs = New ADODB.Recordset
cn.CursorLocation = adUseClient
cn.Open "driver={sql server};server=172.18.122.199;uid=sa;pwd=123456;database=CAWS600B;timeout=100"
Set Rs.ActiveConnection = cn
If cn.State = adStateOpen Then
  cn.Open
Else
  MsgBox "数据库连接失败!", 64, "系统提示"
  End
End If
这是我连接的代码,请问有什么问题吗?

#13


Set cn = New ADODB.Connection
Set Rs = New ADODB.Recordset
cn.CursorLocation = adUseClient
cn.Open "driver={sql server};server=172.18.122.199;uid=sa;pwd=123456;database=CAWS600B;timeout=100"
Set Rs.ActiveConnection = cn
If cn.State = adStateOpen Then
  cn.Open
Else
  MsgBox "数据库连接失败!", 64, "系统提示"
  End
End If
这是我连接的代码,请问有什么问题吗? 
 

#14


没见过在 ConnectionString 中加 timeout 的语法,按我 10 楼的方式试试。

#1


网上好像都是这样做的唉,不过有的解决了,有的没解决,不知道有没有用
http://wenku.baidu.com/view/e844e68502d276a200292e7e.html

#2


试过了,但是没有用

#3


CONN 在需要的时候再进行连接 不能始终保持连接 否则 多大的设置 都会超时的

#4


连接用了,就关闭

#5


连接用了就关闭,下次用时,在打开,

#6


该回复于2012-08-27 11:32:37被版主删除

#7


该回复于2012-08-27 11:32:43被版主删除

#8


在SQL的工具→选项→高级,将查询超时(秒)(Q)改为“0”,若还有此问题,再将登录超时(秒)(L)改大点,如20

#9


引用 8 楼  的回复:
在SQL的工具→选项→高级,将查询超时(秒)(Q)改为“0”,若还有此问题,再将登录超时(秒)(L)改大点,如20

+1

#10


一般是大批量数据操作时容易出这个错误。
应该单独修改批量操作的超时设置,而不推荐更改全部的超时设置,否则多用户冲突时界面会有很长时间的呆滞。
    Dim cn As Connection
    Set cn = New Connection
    cn.ConnectionString = "..."
    cn.ConnectionTimeout = 30
    cn.Open

#11


确实是大批量的数据操作,cn.ConnectionTimeout = 1000,还是解决不了啊

#12


Set cn = New ADODB.Connection
Set Rs = New ADODB.Recordset
cn.CursorLocation = adUseClient
cn.Open "driver={sql server};server=172.18.122.199;uid=sa;pwd=123456;database=CAWS600B;timeout=100"
Set Rs.ActiveConnection = cn
If cn.State = adStateOpen Then
  cn.Open
Else
  MsgBox "数据库连接失败!", 64, "系统提示"
  End
End If
这是我连接的代码,请问有什么问题吗?

#13


Set cn = New ADODB.Connection
Set Rs = New ADODB.Recordset
cn.CursorLocation = adUseClient
cn.Open "driver={sql server};server=172.18.122.199;uid=sa;pwd=123456;database=CAWS600B;timeout=100"
Set Rs.ActiveConnection = cn
If cn.State = adStateOpen Then
  cn.Open
Else
  MsgBox "数据库连接失败!", 64, "系统提示"
  End
End If
这是我连接的代码,请问有什么问题吗? 
 

#14


没见过在 ConnectionString 中加 timeout 的语法,按我 10 楼的方式试试。