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)...
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.
C'est ce que je fais mais en un poil différent :
je compte le nombre de curseur de la session, tous programmes confondus et si on s'approche trop du max, je réinitialise les connexions.
tjfromparis a couché sur son écran :
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.
C'est ce que je fais mais en un poil différent :
je compte le nombre de curseur de la session, tous programmes confondus
et si on s'approche trop du max, je réinitialise les connexions.
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.
C'est ce que je fais mais en un poil différent :
je compte le nombre de curseur de la session, tous programmes confondus et si on s'approche trop du max, je réinitialise les connexions.
Gilles G.
Après mure réflexion, tjfromparis a écrit :
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
Plus récent que le 310F?
Tu as un lien?
Après mure réflexion, tjfromparis a écrit :
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
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
Plus récent que le 310F?
Tu as un lien?
nospam
nan tu as raison pas mieux. la 310f
que je ne peux pas installer !
apparemment la 310f est un patch sur l'accès natif oracle mais qui ne veut pas s'installer sur la version démo (pb de sérialisation)
bon ben vais retourner à oracle4wd : pour l'installe c'est 3 classes et une dll et c'est tout. (juste à attendre qu'elle integre les proc. stock. mais viiiiiiiite svp parce que vb+oledb ca me commence à me gaver)
"Gilles G." a écrit dans le message de news:
Après mure réflexion, tjfromparis a écrit :
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
Plus récent que le 310F?
Tu as un lien?
nan tu as raison pas mieux.
la 310f
que je ne peux pas installer !
apparemment la 310f est un patch sur l'accès natif oracle mais qui ne veut
pas s'installer sur la version démo (pb de sérialisation)
bon ben vais retourner à oracle4wd : pour l'installe c'est 3 classes et une
dll et c'est tout.
(juste à attendre qu'elle integre les proc. stock. mais viiiiiiiite svp
parce que vb+oledb ca me commence à me gaver)
"Gilles G." <debians@gmail.com> a écrit dans le message de news:
mn.35867d514e4c1bc5.21586@gmail.com...
Après mure réflexion, tjfromparis a écrit :
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
apparemment la 310f est un patch sur l'accès natif oracle mais qui ne veut pas s'installer sur la version démo (pb de sérialisation)
bon ben vais retourner à oracle4wd : pour l'installe c'est 3 classes et une dll et c'est tout. (juste à attendre qu'elle integre les proc. stock. mais viiiiiiiite svp parce que vb+oledb ca me commence à me gaver)
"Gilles G." a écrit dans le message de news:
Après mure réflexion, tjfromparis a écrit :
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
Plus récent que le 310F?
Tu as un lien?
Roumegou Eric
nospam a écrit :
nan tu as raison pas mieux. la 310f
que je ne peux pas installer !
apparemment la 310f est un patch sur l'accès natif oracle mais qui ne veut pas s'installer sur la version démo (pb de sérialisation)
bon ben vais retourner à oracle4wd : pour l'installe c'est 3 classes et une dll et c'est tout.
Pourquoi ? C'est déjà le cas non ??
(juste à attendre qu'elle integre les proc. stock. mais viiiiiiiite svp parce que vb+oledb ca me commence à me gaver)
-- Eric Roumégou http://cerbermail.com/?TSoulBerPA (cliquez sur le lien ci-dessus pour me contacter en privé)
nospam a écrit :
nan tu as raison pas mieux.
la 310f
que je ne peux pas installer !
apparemment la 310f est un patch sur l'accès natif oracle mais qui ne veut
pas s'installer sur la version démo (pb de sérialisation)
bon ben vais retourner à oracle4wd : pour l'installe c'est 3 classes et une
dll et c'est tout.
Pourquoi ? C'est déjà le cas non ??
(juste à attendre qu'elle integre les proc. stock. mais viiiiiiiite svp parce
que vb+oledb ca me commence à me gaver)
--
Eric Roumégou
http://cerbermail.com/?TSoulBerPA
(cliquez sur le lien ci-dessus pour me contacter en privé)
apparemment la 310f est un patch sur l'accès natif oracle mais qui ne veut pas s'installer sur la version démo (pb de sérialisation)
bon ben vais retourner à oracle4wd : pour l'installe c'est 3 classes et une dll et c'est tout.
(juste à attendre qu'elle integre les proc. stock. mais viiiiiiiite svp parce que vb+oledb ca me commence à me gaver)
Pourquoi ? C'est déjà le cas non ??
(oups désolé pour le quotage raté si le supercedes ne fn pas)
-- Eric Roumégou http://cerbermail.com/?TSoulBerPA (cliquez sur le lien ci-dessus pour me contacter en privé)
Manu
Slut nospam
bon ben vais retourner à oracle4wd : pour l'installe c'est 3 classes et
une
dll et c'est tout.
3 classes ? il n'y a que c_Oracle4WD les autres c'est pour les log et la construction de code SQL. Tu peux les retirer. Dans ce cas il te faut modifier 3 lignes de la classe Oracle4WD :-)
(juste à attendre qu'elle integre les proc. stock. mais viiiiiiiite svp parce que vb+oledb ca me commence à me gaver)
çà existe depuis l'origine (ie la version WD55) sauf pour les exemples ajoutés au fur et à mesure !
Exemple1 : procedure
// Procedure à créer sur la base Oracle // CREATE OR REPLACE procedure DBName(pajout varchar2, pname in out varchar2) is // begin // pname := pajout ||' ' ||dbms_standard.database_name; // end; // /
pajoute est une chaîne ASCIIZ sur 200 pname est une chaîne ASCIIZ sur 200
SI PAS Oracle4WD:mySQLCall(2,"DBName(:1, :2)") ALORS Info(Oracle4WD:mySQLGetErrorMessage()) SINON Info(pajoute, pname, "pname := pajout ||' ' ||dbms_standard.database_name;") ; FIN
Oracle4WD:mySQLFerme(2)
Exemple 2 : block anonyme
retcode est un booléen pajoute est une chaîne ASCIIZ sur 200 pname est une chaîne ASCIIZ sur 200
SI PAS Oracle4WD:mySQLCall(2,"begin :1:=1*2+3.5;:2:='elecoest'; end") ALORS Info(Oracle4WD:mySQLGetErrorMessage()) SINON Info(pajoute, pname) ; FIN
Oracle4WD:mySQLFerme(2)
Slut nospam
bon ben vais retourner à oracle4wd : pour l'installe c'est 3 classes et
une
dll et c'est tout.
3 classes ? il n'y a que c_Oracle4WD les autres c'est pour les log et la
construction de code SQL. Tu peux les retirer. Dans ce cas il te faut
modifier 3 lignes de la classe Oracle4WD :-)
(juste à attendre qu'elle integre les proc. stock. mais viiiiiiiite svp
parce que vb+oledb ca me commence à me gaver)
çà existe depuis l'origine (ie la version WD55) sauf pour les exemples
ajoutés au fur et à mesure !
Exemple1 : procedure
// Procedure à créer sur la base Oracle
// CREATE OR REPLACE procedure DBName(pajout varchar2, pname in out
varchar2) is
// begin
// pname := pajout ||' ' ||dbms_standard.database_name;
// end;
// /
pajoute est une chaîne ASCIIZ sur 200
pname est une chaîne ASCIIZ sur 200
SI PAS Oracle4WD:mySQLCall(2,"DBName(:1, :2)") ALORS
Info(Oracle4WD:mySQLGetErrorMessage())
SINON
Info(pajoute, pname, "pname := pajout ||' '
||dbms_standard.database_name;") ;
FIN
Oracle4WD:mySQLFerme(2)
Exemple 2 : block anonyme
retcode est un booléen
pajoute est une chaîne ASCIIZ sur 200
pname est une chaîne ASCIIZ sur 200
bon ben vais retourner à oracle4wd : pour l'installe c'est 3 classes et
une
dll et c'est tout.
3 classes ? il n'y a que c_Oracle4WD les autres c'est pour les log et la construction de code SQL. Tu peux les retirer. Dans ce cas il te faut modifier 3 lignes de la classe Oracle4WD :-)
(juste à attendre qu'elle integre les proc. stock. mais viiiiiiiite svp parce que vb+oledb ca me commence à me gaver)
çà existe depuis l'origine (ie la version WD55) sauf pour les exemples ajoutés au fur et à mesure !
Exemple1 : procedure
// Procedure à créer sur la base Oracle // CREATE OR REPLACE procedure DBName(pajout varchar2, pname in out varchar2) is // begin // pname := pajout ||' ' ||dbms_standard.database_name; // end; // /
pajoute est une chaîne ASCIIZ sur 200 pname est une chaîne ASCIIZ sur 200
SI PAS Oracle4WD:mySQLCall(2,"DBName(:1, :2)") ALORS Info(Oracle4WD:mySQLGetErrorMessage()) SINON Info(pajoute, pname, "pname := pajout ||' ' ||dbms_standard.database_name;") ; FIN
Oracle4WD:mySQLFerme(2)
Exemple 2 : block anonyme
retcode est un booléen pajoute est une chaîne ASCIIZ sur 200 pname est une chaîne ASCIIZ sur 200
dans (in) fr.comp.developpement.agl.windev, Roumegou Eric ecrivait (wrote) :
(oups désolé pour le quotage raté si le supercedes ne fn pas)
Il a fonctionné, tu peux respirer tranquille :)
-- Eric
Frédéric LAMBOUR
Vous avez le même problème en passant par OLEDB ? "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!
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)...
Vous avez le même problème en passant par OLEDB ?
"Gilles G." <debians@gmail.com> a écrit dans le message de
news:mn.24eb7d51607955ff.21586@gmail.com...
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)...
Vous avez le même problème en passant par OLEDB ? "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!
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)...