Err.TCP 10048 avec OleDB, Protocole TCP seul, VB6

Version imprimable

[/pseudocode]
les recherches et insertions se font parfois via des commandes préparées créées au début de chaque traitement.

En mode TCP, une erreur 10048 du provider TCP (TCP Provider: Une seule utilisation de chaque adresse de socket (protocole/adresse réseau/port) est habituellement autorisée.) se produit rapidement.
Des connections TCP sont ouvertes & fermées sans arrêt durant le traitement (jamais plus de 4/5 et en plus des deux qui sont clairement liées aux connexions Ole ouvertes au début et qui ne disparaissent qu'a la fermeture des connexions Ole) mais Windows conservant par défaut une connection TCP pendant 2mn, la limite (par défaut aussi) des 5000 connections temporaires est atteinte et là, c'est le drame.:(

Pour l'instant, j'arrive à passer en modifiant la base de registre du poste client pour passer le nombre de connexions TCP temporaires au max. (le volume de données à transférer pouvant varier de quelques Mo à quelques centaines, impossible de prévoir au plus juste) et en faisant descendre le délai de rétention de ces connexions TCP temporaires à 30s.

Mais ça ne convient pas vraiment.
Je soupconne (et je suis en train de chercher/vérifier) l'utilisation des commandes préparées d'être à l'origine de ces connexions courtes mais pourquoi car les c'est toujours les mêmes 2 connexion Ole qui sont utilisées ?

Donc, pour finir, mes questions sont :
Pourquoi toutes ces connexions TCP alors que j'utilise toujours le même objet connexion OleDB quelque soit l'ordre SQL et qu'il y a des traitements durant lesquels AUCUNE connexion TCP supplémentaire (en plus des 2 "normales") n'est créée (je vais vérifier qu'il n'y a pas de commandes préparées dans ces traitements) ?
Et si c'est un fonctionnement normal du provider ADO, Y a-t-il moyen de le forcer (via une propriété sur la connexion ou autre) à limiter le nombre de connexions TCP ou à détruire ces connexions ou du moins dire à l'OS de le faire plus rapidement sans modifier la base de registre ?

Merci d'avance, :D

Infos :
OS Serveur : 2000, 2003 (pas testé avec XP)
OS Client : XP (pas testé avec d'autres OS)
SGBD : SQL Serveur 2005 SP2
Langage : VB6 sp6
Client BD : ADO 2.8
& Client Natif SQL Server (SQLNCLI)
  • 11/01/2008, 09h23
    250rgv
    un p'tit up :)