[WD14] acces natif et timeout

Le
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 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 ??
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
free
Le #22569211
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" 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 ??

free
Le #22569861
"free" 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
free
Le #22576411
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" 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 ??

Publicité
Poster une réponse
Anonyme