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

Grrr Windev + Oracle!!

18 réponses
Avatar
Gilles G.
Hello!

Bien mal m'en a pris, j'ai voulu utiliser Windev 10 fois plus vite ;)


J'ai commencé un projet Windev 8 + Oracle 8 (+accès natif) et j'ai
voulu utiliser pour simplifier les combos auto alimentées, les ordres
hlit, hajoute etc...

Bon ça marche à peu près (tant qu'on se repositionne avant
d'enregistrer), mais maintenant que c'est en prod et que l'utilisation
est plus intensive, régulièrement, paf, nombre maximum de curseurs
ouverts!

et pour cause, j'ai vérifié dans oracle, à chaque ordre différent sur
les tables, windev ouvre un curseur tout neuf, et ne le referme pas
(dans le cas d'un insert par exemple, aucun interêt de garder le
curseur), et au bout d'un moment, on atteint le nombre max de curseurs
ouvrables...

Evidemment le support technique n'a aucune solution à m'apporter en
dehors de "envoyez nous les tables et le code", ce qui ne changera
rien, ya pas besoin de 150 tables différentes pour tester ça...

Bref, avez vous une idée avant que je doive tout réécrire en SQL (et
perdre des semaines)...

10 réponses

1 2
Avatar
Emmanuel Lecoester
"Gilles G." a écrit dans le message de
news:
Hello!

Bien mal m'en a pris, j'ai voulu utiliser Windev 10 fois plus vite ;)


J'ai commencé un projet Windev 8 + Oracle 8 (+accès natif) et j'ai
voulu utiliser pour simplifier les combos auto alimentées, les ordres
hlit, hajoute etc...

Bon ça marche à peu près (tant qu'on se repositionne avant
d'enregistrer), mais maintenant que c'est en prod et que l'utilisation
est plus intensive, régulièrement, paf, nombre maximum de curseurs
ouverts!



solution simple, tu passes le max_open_cursors à 50000 :-)
Avatar
tjfromparis
hum.... il me semble qu'un paramètre de la base Oracle permet de fermer les
curseurs.

Le probleme est tjs d'actu ?
si oui je poserai la question a qq DBA.



"Emmanuel Lecoester" a écrit dans le message de
news: 41dafc6b$0$10274$

"Gilles G." a écrit dans le message de
news:
Hello!

Bien mal m'en a pris, j'ai voulu utiliser Windev 10 fois plus vite ;)


J'ai commencé un projet Windev 8 + Oracle 8 (+accès natif) et j'ai
voulu utiliser pour simplifier les combos auto alimentées, les ordres
hlit, hajoute etc...

Bon ça marche à peu près (tant qu'on se repositionne avant
d'enregistrer), mais maintenant que c'est en prod et que l'utilisation
est plus intensive, régulièrement, paf, nombre maximum de curseurs
ouverts!



solution simple, tu passes le max_open_cursors à 50000 :-)




Avatar
Manu
"tjfromparis" wrote in message
news:41db082a$0$385$
hum.... il me semble qu'un paramètre de la base Oracle permet de fermer


les
curseurs.

Le probleme est tjs d'actu ?
si oui je poserai la question a qq DBA.


désolé, je ne connais pas. La seule chose que je connaisse la dessus ce sont
les paramètres de compilation en pro*c pour que les curseurs se ferment en
automatique.

sinon le max_open_cursors fonctionne bien
Avatar
Ted
Gilles G. écrivait news:mn.24eb7d51607955ff.21586
@gmail.com:

Bref, avez vous une id‚e avant que je doive tout r‚‚crire en SQL



Salut,

Fait régulièrement des HFerme() sur les tables plus utilisées, des
HAnnuleDéclaration sur les requêtes plus utilisées, cela devrait libérer
les curseurs associés.

--
En esperant t'avoir aidé.
Avatar
Gilles G.
tjfromparis a présenté l'énoncé suivant :
hum.... il me semble qu'un paramètre de la base Oracle permet de fermer les
curseurs.

Le probleme est tjs d'actu ?
si oui je poserai la question a qq DBA.



Il est méchemment d'actu

J'ai viré TOUTES les tables autoalimentées pour tout passer en tables
mémoires, et périodiquement je vais une requête sur les vues systèmes
et si le nombre de curseur atteint une valeur critique je ferme et
rouvre la connexion...

Mais ca me gonfle que PCSoft soit incapable de faire la différence
entre Hyperfile et une vraie base de données avec les contraintes
associées!
Avatar
Gilles G.
Il se trouve que Manu a formulé :
"tjfromparis" wrote in message
news:41db082a$0$385$
hum.... il me semble qu'un paramètre de la base Oracle permet de fermer les
curseurs.

Le probleme est tjs d'actu ?
si oui je poserai la question a qq DBA.


désolé, je ne connais pas. La seule chose que je connaisse la dessus ce sont
les paramètres de compilation en pro*c pour que les curseurs se ferment en
automatique.

sinon le max_open_cursors fonctionne bien



oui mais ca n'a aucune incidence sur la conso mémoire de la base?
Le serveur ne va pas finir par exploser?
Avatar
Utilisateur_anonyme_et_non_membre_de_webatou.net
Ted wrote:

Gilles G. écrivait news:mn.24eb7d51607955ff.21586
@gmail.com:



Bref, avez vous une id‚e avant que je doive tout r‚‚crire en SQL





Salut,



Fait régulièrement des HFerme() sur les tables plus utilisées, des
HAnnuleDéclaration sur les requêtes plus utilisées, cela devrait libérer
les curseurs associés.



J'ai essayé hFerme, rien à faire, ca ne libère pas les curseurs.
Je vais essayer le hannuledéclaration

--
Posté via http://www.webatou.net/
Usenet dans votre navigateur !
Complaints-To:
Avatar
Utilisateur_anonyme_et_non_membre_de_webatou.net
Ted wrote:

Gilles G. écrivait news:mn.24eb7d51607955ff.21586
@gmail.com:



Bref, avez vous une id‚e avant que je doive tout r‚‚crire en SQL





Salut,



Fait régulièrement des HFerme() sur les tables plus utilisées, des
HAnnuleDéclaration sur les requêtes plus utilisées, cela devrait libérer
les curseurs associés.



J'ai essayé hFerme et hAnnuledéclaration, 0 effet sur les curseurs, tout
reste bien gentillement en inactive et bien ouvert...

--
Posté via http://www.webatou.net/
Usenet dans votre navigateur !
Complaints-To:
Avatar
tjfromparis
pour fermer les curseurs
l'ideal est un "kill session"

pour ne pas modifier les paramètres sur la base, mon programme se deconnecte
de la base au bout de 5 minutes d'inactivité de l'utilisateur. Il se
reconnecte automatiquement sur une action utilisateur.


"Anonyme de Webatou.net"
a écrit dans
le message de news:
Ted wrote:

Gilles G. écrivait news:mn.24eb7d51607955ff.21586
@gmail.com:



Bref, avez vous une id‚e avant que je doive tout r‚‚crire en SQL





Salut,



Fait régulièrement des HFerme() sur les tables plus utilisées, des
HAnnuleDéclaration sur les requêtes plus utilisées, cela devrait libérer
les curseurs associés.



J'ai essayé hFerme et hAnnuledéclaration, 0 effet sur les curseurs, tout
reste bien gentillement en inactive et bien ouvert...

--
Posté via http://www.webatou.net/ Usenet dans votre navigateur !
Complaints-To:



Avatar
tjfromparis
Au fait,
il y a un nouvel acces natif oracle sur le site de pcsoft (qui prend en
compte les curseurs) mais il est pas dans la section "oracle"
je l'ai trouvé par hasard en me baladant dans le site


"Anonyme de Webatou.net"
a écrit dans
le message de news:
Ted wrote:

Gilles G. écrivait news:mn.24eb7d51607955ff.21586
@gmail.com:



Bref, avez vous une id‚e avant que je doive tout r‚‚crire en SQL





Salut,



Fait régulièrement des HFerme() sur les tables plus utilisées, des
HAnnuleDéclaration sur les requêtes plus utilisées, cela devrait libérer
les curseurs associés.



J'ai essayé hFerme et hAnnuledéclaration, 0 effet sur les curseurs, tout
reste bien gentillement en inactive et bien ouvert...

--
Posté via http://www.webatou.net/ Usenet dans votre navigateur !
Complaints-To:



1 2