Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Expiration du délais lors d'une requête SQL

  • Initiateur de la discussion Initiateur de la discussion xeration
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

X

xeration

Guest
Salut à tous,

Je vous explique mon soucis.
Lorsque j'exécute une requete SQL sur Excel (la base de donnée est tout SQL server)
Le message "Erreur d'execution '-2147217871 (80040e31)': expiration du délai" apparaît, la requête met plus de 30secondes à s'effectuer, c'est pour ça que ce message apparaît.

J'ai testé la requête sous sql server, il faut 60 secondes pour qu'elle s'exécute en entier

Il y a t-il une astuce pour contourner cette barrière de 30 secondes sous excel ?

ps: je suis sous excel 2003
 
Dernière modification par un modérateur:
Re : Expiration du délais lors d'une requête SQL

Bonjour xeration,

Il faudrait que tu nous décrives comment tu te connectes à ta base SQL Server
Est-ce que tu as un DSN ?
Si oui, je pense que ça doit être dans les paramètres du DSN, même si je ne suis pas sûr
 
Re : Expiration du délais lors d'une requête SQL

J'ai fais plusieurs recherche, j'ai lus qu'il fallait utiliser la méthode CommandTimeout

Je dois avouer que je n'ai pas trop d'idée comment l'utiliser, quelqu'un pourrait m'éclairer ?

le code VBA est le suivant :
Code:
conn.ConnectionString = "xxxxxxxxxx;" & _
         "Data Source=xxxxxxxx;" & _
         "Initial Catalog=xxxxxxxxxx;" & _
         "User Id=xxxxxxxx;" & _
         "Password=xxxxxxxxx"
conn.Open

    Columns("AH:AP").Select
    Selection.ClearContents
    Range("X21").Select
    
   
    ' requete avec presse, job, produit, date debut, date fin

    If Cells(10, 7) <> "" And Cells(10, 9) <> "" And Cells(10, 8) <> "" And Cells(5, 8) <> "" And Cells(5, 10) <> "" Then

                  [U]Ma requete SQL[/U]
  
Set rs = New ADODB.Recordset
Set rs.ActiveConnection = conn
Call rs.Open(sSQL, conn, adOpenForwardOnly, adLockReadOnly)



Set qt = Sheets("Detail Job").QueryTables.Add(Connection:=rs, Destination:=Range("AH4"))


qt.Refresh

If rs.State <> adStateClosed Then
    rs.Close
End If
 
Dernière modification par un modérateur:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…