2009-12-15 46 views
1

我正在运行使用BDE进行数据库连接的Delphi应用程序。偶尔(比我想要的更多)在打开查询时会弹出此错误消息。已分配的db进程的最大数量

谷歌搜索这个错误,大多数选择是指MS SQLServer数据库,并谈论一个dbsetmaxprocs函数,我似乎无法找到。

所以问题是:我怎样才能防止/纠正这个错误?这种错误在哪些情况下会出现,我该如何避免/解决它?

在此先感谢! PS:我留下一些链接供我参考。

+0

你正在使用哪些数据访问组件(TTable,TQuery等)?你的目标数据库是什么? – KevinRF 2009-12-16 13:39:06

+0

我们总是使用从TQuery继承的自定义组件。然后我们继承我们的组件来处理特定的数据对象,但是已经实现了用于基本操作(crud,查询)的内部逻辑。 – 2009-12-17 13:50:37

+0

最可能的问题是我们在某处发生连接泄漏(按照Server Fault的建议)。问题是:这个错误发生在客户端的测试环境(但不是在生产环境中),我们不能在这里重现它,所以在当前的可用信息下跟踪这个漏洞是不可能的。 – 2009-12-17 13:51:17

回答

1

如果漏斗通过一个中央TDatabase组件所有的TQuery的连接,您应该只有每个应用程序实例一个连接。 MSSQL的Profiler应该可以帮助追踪正在打开的连接。
它甚至可能是您的自定义TQuery组件中的一个错误。