我使用PowerBuilder 9.0+ Server 2000,pc通过无线AP连接到本地网络。当网络条件发生变化(关闭无线AP或断开网络连接)时,PB应用程序中出现“数据库错误10005”。然后,我在我使用的数据库的属性中取消了自动关闭和自动收缩。当我断开网络连接时仍然会发生错误,而当关闭ap时则不会发生错误。在这种情况下如何避免此错误?如有任何建议,将不胜感激。谢谢。
发布于 2013-12-18 15:40:34
搜索此错误代码意味着在生成此消息时连接已死亡。这可能是:
以下是PB角度的一些评论。(希望更精通SQL Server的人也能跳入其中。)
PB Bug Google在报告错误消息时出现了许多预PB 10问题;这可能意味着它是PB问题,或者是DBLib问题(PB10后来为了更新的标准而放弃了现在过时的MSS/DBLib接口)。您正在使用的PB版本已经相当老了;您可能正在与多年前修复的bug作斗争。
如果Server (客户端或服务器软件)正在对您执行此操作(有意或意外),则PB可以绕过,您可以做的最优雅的事情是使--您的数据库访问的所有都具有更强的弹性,查找像10005这样的错误,重新建立连接,然后再试一次。这将使复苏变得透明,但我可以想象,这将是一项艰巨的工作。(如果有人有远见地将你所有的数据库访问封装成一种简单的方式,他们是一个比我更好的人。)
一个更难看的解决方案将是一个菜单项,它将断开和重新连接到数据库,并指示用户在切换网络环境时使用该菜单项。
这两种方法都将迫使您考虑是否维护数据库会话的任何特定内容(例如物理表或行锁,而不是DataWindow本机使用的逻辑锁定),因为当会话被终止时,所有这些都将丢失。
祝好运,
特里。
https://stackoverflow.com/questions/20661061
复制相似问题