我正在尝试修复一个小实用程序,它似乎在一些空闲时间后丢失了与数据库的连接。我已经将超时设置为0,但这似乎不起作用。
我不想简单地崩溃并显示几条错误消息,而是想尝试重新建立连接并执行查询直到成功(我意识到这可能是对资源的不良使用)但即便如此,那就是我的意思我试图在这里完成。或者,如果可能的话,显示一个消息框,说明连接丢失,一旦建立连接就会关闭。
任何建议都将不胜感激。
Public connMain As ADODB.Connection
Public rsMain As ADODB.Recordset
......
Function Picture_Exists() As Boolean
On Error Resume Next
sqlstr = "select * .... "
Set rsMain = connMain.Execute(sqlstr)
答案 0 :(得分:1)
由于不使用,您的连接可能会在数据库端丢弃。在没有使用时保持连接不是一种好的做法。连接在资源方面是昂贵的,因此任何这样的实践都不会很好地扩展。 Dbadmins不可能将未使用的连接打开很长时间。
您的潜在解决方案是尝试连接,如果您无法忽略该错误。我们不会说"永远不会"经常在这个行业,但你永远不应该使用" On Error Resume Next"还没有评估Err.Number以查看它是否等于0(如果是,则没有错误)。这称为"内联错误处理。"
无论如何,我不会使用这种方法。我会评估Connection对象的State Property,如果它已关闭(cn.State = adoStateClosed),那么我会重新打开它。
答案 1 :(得分:0)
您可以尝试以下操作:
display:none