J'ai un programme qui remplit un DB dans un seul thread. I Utiliser une connexion pour toutes les requêtes. C'est ainsi que je serai capable de les exécuter tous dans les transactions.ADO SQLServer dbGo génère un EAccessViolation
Chaque seconde, je reçois un nouvel ensemble de fichiers qui doit être entré dans un SQL Server 2005 Express.
L'application peut fonctionner pendant 24 à 36 heures et obtenir soudainement une "EAccessViolation" dans une requête.
Cette requête a été exécutée pour au moins 24 * 60 * 60 fois.
Je ne suis pas sûr si cela arrive aussi avec des requêtes sans paramères car la plupart des requêtes (90%) ont des paramètres. ce sont des inserts/mises à jour ou sélectionnez avec un paramètre (s). Lorsque cela se produit toutes les requêtes obtiennent ensuite le même EAccessViolation et après un moment, je reçois un StackOverflow.
Alors que le code est construit dans l'embouteillage d'une manière qu'une exception sera traitée et la prochaine fois que le code devrait fonctionner sans problèmes. Le fait que cela se produise dans les requêtes varios (qui n'ont pas changé par rapport à la version précédente) avec le seul changement qui remplace l'utilisation de dbGo de BCB Builder 2007, nous avons fait ADO avec Cpp Builder 6.0.
Je suppose que c'est dans la version Windows MDAC (2.8) ou dans de dbGo de CodeGear. Le fait que dans la version précédente (ADO BCB6.0) nous ne l'ayons pas rencontré et maintenant avec (dbGO et BCB2007) nous rendons cette partie très suspicieuse.
J'espère que certains ont quelques bonnes idées ce qui pourrait être la raison de tout cela.
Pour l'instant je ne peux pas le reproduire ici sur un bureau. J'essaie toujours de le reproduire qui donnera plus d'informations.
Je suis ouvert aux suggestions.
concernant
jvdn.
J'espère que cela va montrer, Les machines Windows sont les mêmes (Driver) J'ai trouvé un objet Errror supplémentaire dans l'ADOConn. Celui-ci je vais explorer plus avant. Merci pour votre réaction. –