PowerBuilder应用程序中的数据库错误10005

时间:2013-12-18 14:40:44

标签: sql-server powerbuilder

我使用PowerBuilder 9.0+ Sql Server 2000,PC通过无线AP连接到本地网络。当网络状况发生变化(关闭无线AP或断开网络连接)时,在PB应用程序中发生“数据库错误10005”。然后我取消选中自动关闭并自动收缩我使用的数据库的属性。当我断开网络连接但在关闭ap时没有发生错误。在这种情况下如何避免这种错误?任何建议将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:0)

Google搜索此错误代码表示生成此消息时连接已失效。这可能是:

  • PB中的错误
  • SQL Server客户端软件中的错误
  • SQL Server服务器软件中的错误
  • SQL Server的功能(当您考虑它时,您的客户端现在来自完全不同的IP地址;允许不同的IP使用现有连接“继续”使用凭据和建立权限,听起来像是一种安全风险)

以下是PB观点的一些评论。 (希望更精通SQL Server的人也可以加入。)​​

PB Bug Google搜索提出了很多报告此错误消息的PB10前问题;这可能意味着 是一个PB问题,或者是DBLib问题(PB10后来为新标准抛弃了现在过时的MSS / DBLib接口)。您正在使用的PB版本很旧;你可能会对抗几年前修复的错误。

PB解决方案如果SQL Server(客户端或服务器软件)正在向您(故意或意外)执行此操作,您可以做的最优雅的事情是使全部您的数据库访问更具弹性,查找10005之类的错误,重新建立连接,然后再次尝试。这会让恢复变得透明,但我会想象,这将是很多工作。 (如果有人有先见之明,以一种简单的方式封装你所有的数据库访问,那么他们就比我更好。)

一个更丑陋的解决方案是将DISCONNECT并重新连接到数据库的菜单项,并在用户切换网络环境时向用户提供指令。

这两个都会强制您考虑是否维护了特定于数据库会话的任何内容(例如,物理表或行锁,而不是DataWindow本身使用的逻辑锁定),因为当会话时所有这些都将丢失被杀了。

祝你好运,

特里。