Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Timeout requete SQL [ Base de données / SQL ] (franck453)

mardi 5 août 2008 à 10:21:13 | Timeout requete SQL

franck453

bonjour,

J'ai une base SQL Serveur contenant plusieurs dizaines de milliers d'enregistrements. Suivant les requêtes j'obtient une erreur "Expiration du délai".

J'ai vu qu'en mettant le paramètre CommandTimeOut =0 à la connexion cela devait résoudre mon problème.

Or, Ma connexion n'est pas 'ouverte' en permanence, et je ne sait pas où placer le paramètre CommandTimeOut !! (Dans la chaine de connexion ???)

Ci joint un exemple de ma méthode :

Dans un module1 :
Public requete As String  'contient la requete à éxécuter
Public chaines As String  'contient les paramètres de la connexion
Public rsql(1 To 15) As New ADODB.Recordset    'recordset contenant le résultat (jusqu'à 15 recordsets ouverts simultanément !)

Dans le code :
chaine = "Provider=sqloledb;Data Source=gtc-dev;Initial Catalog=alarmes;User Id=sa;Password=sa"
requete = "SELECT * FROM histo ORDER BY date DESC"
rsql(nr(3)).Open requete, chaine, adOpenDynamic, , adCmdText
       J'effectue mon traitement : par exemple :   derniere_date=rsql(nr(3))!date
rsql(nr(3)).Close

Donc où intégrer le paramètre de Timeout ?

Merci à tous, ma base ne cesse d'augmenter, et il devient urgent de résoudre ce problème, car les utilisateurs commencent à se plaindre, ce qui est normal...

Franck

mardi 2 septembre 2008 à 14:03:52 | Re : Timeout requete SQL

SebOfBorg

Membre Club
Bonjour,
Au cas ou tu n'aurais pas encore trouvé de réponse...
de mon coté j'utilise ça :
bon je me connecte a une base oracle mais il n'y a que la connectionstring a changer

----------------------------------------------------Fonction EXECUTION DE REQUETE------------------------------------------
Function Execution_Requete_RS(requete As String) As ADODB.Recordset
Form1.MousePointer = vbHourglass -- permet de mettre un sablier sur le form pour dire que ça travaille
    Set Execution_Requete_RS = New ADODB.Recordset
    On Error GoTo Gest_Err
    If Not requete = "" Then
        With Adocnx
            If .State = adStateClosed Then Communes.Connexion -- Teste avant l'execution si la connection est montée ... sinon on connecte
            If .State = adStateOpen Then
                .CommandTimeout = 2000 --Le timeout est sur la requete...
                .CursorLocation = adUseClient -- le curseur est du coté client afin de recuperer le recordcount (entre autre)
                Info "Execution de la requete : " & requete -- Info est une fonction...
                Set Execution_Requete_RS = .Execute(requete)
                Info "Nombre de lignes de la table : " & Execution_Requete_RS.RecordCount
            End If
        End With
    End If
    Accueil.MousePointer = vbNormal
    Exit Function
Gest_Err:
    Info "Erreur dans l'execution de la requete : " & requete
    Info vbTab & Err.Description
    form1.MousePointer = vbNormal --remet le curseur a la fleche
End Function
----------------------------------------------------Fonction INFO------------------------------------------
Function Info(Texte)
    Debug.Print Now(), Texte
    DoEvents
End Function
----------------------------------------------------Fonction CONNEXION--------------------------------------
Function Connexion()
    Set Adocnx = New ADODB.Connection
    If SID = "" Then Recup_Ini --Fonction permettant de recuperer les infos dans un fichier .INI
    With Adocnx
        .ConnectionString = "Provider=MSDAORA;Data Source=" + SID + ";User Id=" + NomUtilisateur + ";Password=" + MotDePasse + ";"
        .Open
        If Not .State = 1 Then
            MsgBox "Pas connecté", vbCritical, "Echec de connexion"
        End If
    End With
End Function
-------------------------------------------------------------------------------------------------------------------



Cette discussion est classé dans : sql, connexion, requete, paramètre, timeout


Répondre à ce message

Sujets en rapport avec ce message

DAO, VB et Access : requete SQL et paramètre...AIDE, SVP! [ par djelacrevette ] Salut à tous,G un pb, genre une connexion sur une base access en DAO avec VB, avec une fonction qui me fait une requete... mais qd j'essaye de passer Pb de connexion pour une requete sql simple [ par taguazou ] Bonjour,Je débute, et j'aimerais connaitre une solution à mon probleme, lors de l'execution d'un requete dont voici le code, j'ai le message d'erreur REQUETE SQL [ par bouv ] Je débute avec ACCESS et j'ai un problème de lancement de ma requete SQLEn connexion DAO, si je faisSet Requete = Bdd.OpenRecordset(sqlReq)c'est OKEn Paramètre dans requete SQL dans Dataenvironment [ par GILYON ] Bonour,J'ai un pb enve une requete paramétrée dans un DataEnvironnment.Voici la requete select nom from commune where nom in (?)Le parmètre étant une Trouver l'erreur RQT SQL [ par alias666 ] Bonjour j'ai un petit soucis sur une requete si quelqu'un peut m'aider svp je vois pas du tout...Sub Import2_QuandClic() 'Connexion à la base d Requete SQL avec parmatre externe sous etoiles [ par neimad58 ] Bonjour, j'ai un petit souci mais je doute qu'il soit très difficile à regler, et que je sois le premier à le rencontrer, juste que je n'ai pas trou Requete SQL avec *parametre* [ par neimad58 ] Bonjour, j'ai un petit souci mais je doute qu'il soit très difficile à regler, et que je sois le premier à le rencontrer, juste que je n'ai pas trou Limite d'une requete vers SQL Server [ par abraal ] Bonjour a tous Donc je vous explique clairement mon problème :J'ai un programme en VB qui doit lister toutes les valeurs d'une table présente dans une Requete SQL d'insertion [ par neimad58 ] Bonjour,je travaille avec ado sous VB pour acceder et entrer des données dans une base de donnée Access et la requète SQL que je veux lui faire execut execution de requete [ par torNADoS ] salut, voila j ai un petit probleme au niveau de l'execution des requetes.j ai deux fonctions porteusent de requetes la premiere est [code]Me.Commande


Nos sponsors

Sondage...

CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,172 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.