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

[WD14] acces natif et timeout

3 réponses
Avatar
free
Bonjour

Je perd mon latin sur les timeout et l'acces natif sql serveur (en mode
sqlcli)

Que je mette WD Command Timout=x ou y, ca change rien, une requete lente
échoue au bout de 1 à 2 secondes environ.

Si je trace dans sqlserver profiler, le houvreconnexion envoi
systématiquement un set lock timeout=1000.

Si je lance wdsqsins.exe , et que je spécifie un lock timeout à 30, ca me
cree un fichier wdsqsins.ini contenant cette option. Le houvreconnexion
envoi systématiquement un set lock timeout=30000, et ma requete lente
n'échoue plus aussi rapidement.

Si je supprime le wdsqsins.ini, ca repart avec le set lock timeout=1000 et
un temps tres court pour les requetes.

Comment paramétrer ce délai sans utiliser de wdsqsins.ini ??

3 réponses

Avatar
free
pour completer ma demande, le hexecuterequetesql semble fonctionner, c'est
le sqlexec qui pose problème.
hors, on est obligé d'utiliser sqlexec car c'est le seul qui permette
d'exécuter plusieurs requetes sql à l'intérieur d'une meme transaction


"free" wrote in message
news:4c8f6e11$0$23248$
Bonjour

Je perd mon latin sur les timeout et l'acces natif sql serveur (en mode
sqlcli)

Que je mette WD Command Timout=x ou y, ca change rien, une requete lente
échoue au bout de 1 à 2 secondes environ.

Si je trace dans sqlserver profiler, le houvreconnexion envoi
systématiquement un set lock timeout00.

Si je lance wdsqsins.exe , et que je spécifie un lock timeout à 30, ca me
cree un fichier wdsqsins.ini contenant cette option. Le houvreconnexion
envoi systématiquement un set lock timeout0000, et ma requete lente
n'échoue plus aussi rapidement.

Si je supprime le wdsqsins.ini, ca repart avec le set lock timeout00 et
un temps tres court pour les requetes.

Comment paramétrer ce délai sans utiliser de wdsqsins.ini ??

Avatar
free
"free" wrote in message
news:4c8f6e11$0$23248$
Bonjour

Je perd mon latin sur les timeout et l'acces natif sql serveur (en mode
sqlcli)

Que je mette WD Command Timout=x ou y, ca change rien, une requete lente
échoue au bout de 1 à 2 secondes environ.



voila exactement le code qui ne marche pas :

SQLConnecte(Serveur, » », » »,Database,

"SQL SERVER",hAccèsNatifSQLServer, WD Command Timeout`0;
Trusted_Connection=YES;")



sSql est une chaîne

sSql="WAITFOR DELAY '00:00:40';"

SI PAS SQLExec(sSql,"REQ") ALORS

// ici ca sort une erreur au bout de 1 a 2 secondes

SQLInfoGene("REQ")

Erreur(SQL.MesErreur)

SINON

Info("SqlExec ok")

FIN
Avatar
free
Bon

- après un mail classique du Support Technique qui dit que pour lui tout
marche bien
- après une revérif en partant sur un projet neuf, qui dit que ca déconne
bien

il en resulte que :

- si le timeout de lock n'est pas paramétré par wdsqlsins
- si on n'utilise le sqlncli (h.modesqlserver=0)
ALORS
- SQLConnecte ignore la valeur "WD Command Timeout " dans les paramètres
complémentaires
- SQLExec echoue lamentablement pour une requete dépassant 1000 ms.

Contournement :
- Il faut utiliser HExecuteRequeteSQL car HOuvreConnexion respecte la valeur
"WD Command Timeout "
- il faut utiliser SQLTransaction(.., <nom de la connexion>) pour pouvoir
utiliser les transactions
exemple
sqlconnecte()
sqltransaction(sqldebut)
sqlexec()
sqlexec()
sqltransaction(sqlfin)

doit se réécrire en :
houvreconnexion(maconnexion)
sqltransaction(sqldebut,maconnexion)
hexecuterequetesql(maconnexion,)
hexecuterequetesql(maconnexion,)
sqltransaction(sqlfin,maconnexion)




"free" wrote in message
news:4c8f6e11$0$23248$
Bonjour

Je perd mon latin sur les timeout et l'acces natif sql serveur (en mode
sqlcli)

Que je mette WD Command Timout=x ou y, ca change rien, une requete lente
échoue au bout de 1 à 2 secondes environ.

Si je trace dans sqlserver profiler, le houvreconnexion envoi
systématiquement un set lock timeout00.

Si je lance wdsqsins.exe , et que je spécifie un lock timeout à 30, ca me
cree un fichier wdsqsins.ini contenant cette option. Le houvreconnexion
envoi systématiquement un set lock timeout0000, et ma requete lente
n'échoue plus aussi rapidement.

Si je supprime le wdsqsins.ini, ca repart avec le set lock timeout00 et
un temps tres court pour les requetes.

Comment paramétrer ce délai sans utiliser de wdsqsins.ini ??