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)...

8 réponses

1 2
Avatar
Gilles G.
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.
Avatar
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?
Avatar
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?




Avatar
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é)
Avatar
Roumegou Eric
(supersedes )

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.



(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é)
Avatar
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

pajoute = "TEST : "
pname = ""

Oracle4WD:mySQLDefBind(2,1,&pajoute,-1,Oracle4WD:ORACLE_TYPESTR)
Oracle4WD:mySQLDefBind(2,2,&pname,-1,Oracle4WD:ORACLE_TYPESTR+Oracle4WD:ORAC
LE_VAROUTPUT)

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

pajoute = "TEST : "
pname = ""

Oracle4WD:mySQLDefBind(2,1,&pajoute,-1,Oracle4WD:ORACLE_TYPESTR)
Oracle4WD:mySQLDefBind(2,2,&pname,-1,Oracle4WD:ORACLE_TYPESTR)

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)
Avatar
Eric Demeester
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
Avatar
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)...




1 2