2009-12-15 6 views
1

J'utilise une application Delphi qui utilise BDE pour la connexion à la base de données. Ocassionally (plus souvent que je voudrais) cette erreur apparaît lors de l'ouverture d'une requête. En recherchant cette erreur, la plupart des choix se rapportent à la base de données MS SQLServer et parlent d'une fonction dbsetmaxprocs, que je n'arrive pas à trouver. Donc, la question est: comment puis-je prévenir/corriger cette erreur? Dans quelles situations cette erreur augmente-t-elle et comment puis-je éviter/contourner ce problème?Nombre maximal de processus db déjà alloués

Merci d'avance! PS: Je laisse quelques liens que j'ai suivis à titre de référence.

+0

Quelle est votre base de données cible? – KevinRF

+0

Nous utilisons toujours un composant personnalisé qui hérite de TQuery. Nous héritons ensuite de notre composant pour gérer des objets de données spécifiques, mais la logique interne pour les opérations de base (crud, requêtes) est déjà implémentée. –

+0

Problème le plus probable est que nous fuyons les connexions quelque part (comme suggéré à Server Fault). Le problème est: cette erreur se produit dans l'environnement de test du client (mais pas dans la production), et nous ne pouvons pas le reproduire ici, donc traquer cette fuite est impossible avec les informations disponibles. –

Répondre

1

Si vous entonnoir toutes vos connexions TQuery par un composant TDatabase central, vous ne devriez avoir une connexion par instance d'application. Le profileur de MSSQL devrait aider à localiser les connexions ouvertes.
Il pourrait même s'agir d'un bug dans votre composant TQuery personnalisé. Quels composants d'accès aux données utilisez-vous (TTable, TQuery, etc.)?

Questions connexes