Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[Access & SQL Serveur] TimeOut suite ...

5 réponses
Avatar
Stéphane Miqueu
Bonjour,

Plus de précision sur mon soucis :

Soit un projet .adp, je suis connecté via ODBC sur un SQLserveur.
Dans un formulaire j'ai un traitement du style :

Dim rs As ADODB.Recordset
Dim strSQL As String

strSQL = "<ma requête>"
rs.Open strSQL, CurrentProject.Connection, adOpenDynamic,
adLockOptimistic

If not rs.EOF then
...
End If

Or ma requête dure au minimum 1mn45 sans possibilité de réduire ce
temps. Donc invariablement j'ai un message de timeout.

Quelles solutions sont à ma disposition ?

Merci de votre aide.

--
Ami Calmant
Stéphane

5 réponses

Avatar
Fabien
Bonjour,

Plus de précision sur mon soucis :

Soit un projet .adp, je suis connecté via ODBC sur un SQLserveur.
Dans un formulaire j'ai un traitement du style :

Dim rs As ADODB.Recordset
Dim strSQL As String

strSQL = "<ma requête>"
rs.Open strSQL, CurrentProject.Connection, adOpenDynamic, adLockOptimistic

If not rs.EOF then
...
End If

Or ma requête dure au minimum 1mn45 sans possibilité de réduire ce
temps. Donc invariablement j'ai un message de timeout.

Quelles solutions sont à ma disposition ?

Merci de votre aide.

Bonjour,

Qu'a donné la solution que t'as proposé 3Stone ?
"
Salut,

"Stéphane Miqueu"
| Une de mes requêtes s'exécute en un minimum de 1mn45, ce qui me pose un
| problème de timeout dans Access. Comment puis-je régler ce timeout sur
| une valeur plus grande ?

Place la requête en mode création, clic doit -> Propriétés
ou via le menu "Affichage, Propriétés" ou Alt + Enter

Temporisation ODBC





-- A+ Pierre (3stone) Access MVP Perso: http://www.3stone.be/ MPFA:
http://www.mpfa.info/ (infos générales)
"

PS : Evite de recrer un fil sur le même sujet.
@+




Avatar
Stéphane Miqueu
Fabien a pensé très fort :
Bonjour,

Plus de précision sur mon soucis :

Soit un projet .adp, je suis connecté via ODBC sur un SQLserveur.
Dans un formulaire j'ai un traitement du style :

Dim rs As ADODB.Recordset
Dim strSQL As String

strSQL = "<ma requête>"
rs.Open strSQL, CurrentProject.Connection, adOpenDynamic, adLockOptimistic

If not rs.EOF then
...
End If

Or ma requête dure au minimum 1mn45 sans possibilité de réduire ce temps.
Donc invariablement j'ai un message de timeout.

Quelles solutions sont à ma disposition ?

Merci de votre aide.

Bonjour,

Qu'a donné la solution que t'as proposé 3Stone ?
"
Salut,

"Stéphane Miqueu"
| Une de mes requêtes s'exécute en un minimum de 1mn45, ce qui me pose un
| problème de timeout dans Access. Comment puis-je régler ce timeout sur
| une valeur plus grande ?

Place la requête en mode création, clic doit -> Propriétés
ou via le menu "Affichage, Propriétés" ou Alt + Enter

Temporisation ODBC





-- A+ Pierre (3stone) Access MVP Perso: http://www.3stone.be/ MPFA:
http://www.mpfa.info/ (infos générales)
"

PS : Evite de recrer un fil sur le même sujet.
@+


Comme je l'explique, je n'ai pas de requête au sens strict d'access. Je
n'ai rien dans l'onglet requête. Je ne peux donc pas modifier le
timeout à ce niveau. J'ai essayé de le modifier au niveau des options
générale d'access mais sans succès.

En fait je cherche plutôt quelchose ressemblant à :

Dim Cnx as ADODB.Connection
Cnx.SetTimeout = 180

Mais pour l'instant je n'ai rien trouvé.
Merci pour ton aide et désolé pour le fil en doublon.

--
Ami Calmant
Stéphane





Avatar
Michel_D
Bonjour,

Et comme cela tu as essayé :

Dim cnn As New ADODB.Connection
Dim rs As ADODB.Recordset
Dim strSQL As String

strSQL = "<ma requête>"
cnn.CommandTimeout = 200
cnn = CurrentProject.Connection
rs.Open strSQL, cnn, adOpenDynamic, adLockOptimistic


Sinon apparemment à la clé ci-dessous l'on retrouve certaines valeurs
HKEY_LOCAL_MACHINESoftwareMicrosoftJet4.0EnginesJet 4.0ODBC


"Stéphane Miqueu" a écrit dans le message de news:
Bonjour,

Plus de précision sur mon soucis :

Soit un projet .adp, je suis connecté via ODBC sur un SQLserveur.
Dans un formulaire j'ai un traitement du style :

Dim rs As ADODB.Recordset
Dim strSQL As String

strSQL = "<ma requête>"
rs.Open strSQL, CurrentProject.Connection, adOpenDynamic,
adLockOptimistic

If not rs.EOF then
...
End If

Or ma requête dure au minimum 1mn45 sans possibilité de réduire ce
temps. Donc invariablement j'ai un message de timeout.

Quelles solutions sont à ma disposition ?

Merci de votre aide.

--
Ami Calmant
Stéphane




Avatar
Stéphane Miqueu
Michel_D avait soumis l'idée :
Bonjour,

Et comme cela tu as essayé :

Dim cnn As New ADODB.Connection
Dim rs As ADODB.Recordset
Dim strSQL As String

strSQL = "<ma requête>"
cnn.CommandTimeout = 200
cnn = CurrentProject.Connection
rs.Open strSQL, cnn, adOpenDynamic, adLockOptimistic


Bon ça y est ça fonctionne en faisant comme suit :

Dim cnn As New ADODB.Connection
Dim rs As ADODB.Recordset
Dim strSQL As String

set cnn = CurrentProject.Connection
cnn.CommandTimeout = 0

strSQL = "<ma requête>"
rs.Open strSQL, cnn, adOpenDynamic, adLockOptimistic

Merci pour votre aide

--
Ami Calmant
Stéphane

Avatar
Michel_D
re,

Dans ce cas tu dois pouvoir changer ta déclaration en
Dim cnn As ADODB.Connection


"Stéphane Miqueu" a écrit dans le message de news:
Michel_D avait soumis l'idée :
Bonjour,

Et comme cela tu as essayé :

Dim cnn As New ADODB.Connection
Dim rs As ADODB.Recordset
Dim strSQL As String

strSQL = "<ma requête>"
cnn.CommandTimeout = 200
cnn = CurrentProject.Connection
rs.Open strSQL, cnn, adOpenDynamic, adLockOptimistic


Bon ça y est ça fonctionne en faisant comme suit :

Dim cnn As New ADODB.Connection
Dim rs As ADODB.Recordset
Dim strSQL As String

set cnn = CurrentProject.Connection
cnn.CommandTimeout = 0

strSQL = "<ma requête>"
rs.Open strSQL, cnn, adOpenDynamic, adLockOptimistic

Merci pour votre aide

--
Ami Calmant
Stéphane