代码之家  ›  专栏  ›  技术社区  ›  onaclov2000

Clearquest数据库超时

  •  0
  • onaclov2000  · 技术社区  · 16 年前

    我有一个工具,是用来查询我们的Clearquest数据库的,每9000毫秒自动向用户返回一次信息。我今天进来,连接在周末超时了,我在oSession对象中发现了一个“check heartbeat”函数,但是我不确定我想用这个函数来确定是否需要“重新登录”,我看到了一个db.timeoutinterval,但是我似乎找不到任何关于如何调用它的好的参考,因为osesession对象实际上并没有调用它,而且API指南中的任何引用都提到了使用adminsession对象实际创建db。我需要创建什么“对象”来访问超时间隔以及如何创建?谢谢你的帮助!或者使用“checkheartbeat函数”更好,它会根据当前登录状态返回true还是false?

    2 回复  |  直到 16 年前
        1
  •  0
  •   onaclov2000    16 年前

    长话短说,我不知道checkheartbeat到底做了什么,但是在我尝试做一些clearquest的事情(查询等)之前,我用我的oSession对象进行了一个调用。我不确定如果会话已过期,checkheartbeat是否会返回布尔值,所以我将它放在try-catch块中

    Try
       If Not oSession.CheckHeartbeat Then
          'insert login function here
          MsgBox("Had to re-login false Heartbeat")
       End If
    Catch ex As Exception
        'insert login function here
        MsgBox("Had to re-login Exception style")
    End Try
    

    到目前为止,我还没有一个超时,所以我一直无法真正测试出来。如果到时候我有一个暂停。然后我会更新我发现的。

        2
  •  0
  •   AdamSkwersky    9 年前

    CheckHeartbeat仅适用于许可证。它不会影响或检查会话超时。CheckHearbeat将向许可证服务器发送心跳信号,告诉它许可证仍在使用中。查看会话是否已超时的唯一方法是尝试某些操作并查看是否发生错误。

    另外请注意,您可以更改数据库超时,如果希望确保连接不会保持太长时间,则不建议这样做。更改数据库超时的属性位于数据库对象及其名为TimeoutInterval的对象上。然后需要调用ApplyPropertyChanges将它们应用到数据库。更改是永久性的,也就是说,将来的所有会话都使用新的超时。你随时可以再换一次。

    推荐文章