[OT][OTL4WD] Nouvelle version actuellement en test
1 réponse
elecoest
Bonjour,
C'est avec grand plaisir que je peux vous annoncer que nous venons de
faire un bon en avant avec la version de OTL4WD en cours de tests.
Outre toutes les fonctionnalit=E9s d=E9j=E0 existantes vous pouvez g=E9rer
les binds variables de type IN, OUT, INOUT de type chaine de
caract=E8res, entier et double. Un peu ce que fait Oracle4WD me direz
vous... Oui mais l=E0 ne s'arr=EAte pas l'innovation avec OTL4WD ! On
peut aussi d=E9clarer des binds variables de type "Referenced Cursor".
La question nous avait =E9t=E9 soumise par Bernard il y a peu. On
ex=E9cute une proc=E9dure stock=E9e qui renvoie 2 curseurs autonomes
(cette fa=E7on de faire se retrouve de plus en plus dans les milieux
Oracle s=E9curis=E9s). Comment faire ?
Voici un d=E9but de solution avec OTL4WD.
On d=E9clare nos deux curseurs :
[code]
// fermeture au pr=E9alable des donn=E9es de travail
OTL4WD:OTLCloseBinds()
// referenced cursor 1 de type OUT
OTL4WD:OTLDefBind(0,"cur1","cur1",OTL4WD:ORACLE_VAROUT,
OTL4WD:ORACLE_TYPEREF)
// referenced cursor 2 de type OUT
OTL4WD:OTLDefBind(1,"cur2","cur2",OTL4WD:ORACLE_VAROUT,
OTL4WD:ORACLE_TYPEREF)
[/code]
On execute notre proc=E9dure stock=E9e :
[code]
// appel fourni par le DBA
retCode =3D OTL4WD:OTLExecPS("begin "+...
" pkg1.prc1(:cur1,:cur2); "+...
"end ; ")
[/code]
Vous l'aurez compris pour le deuxi=E8me curseur c'est identique :
[code]
retCode =3D OTL4WD:OTLExec(":cur2")
TableSupprimeTout("TABLE2")
TANTQUE (OTL4WD:OTLFetchCur(":cur2"))
TableAjoute("TABLE2", OTL4WD:OTLLitColCur(":cur2", 1) + TAB +
OTL4WD:OTLLitColCur(":cur2", 2))
FIN
[/code]
Pour faciliter la vie du d=E9veloppeur les m=E9thodes pour retrouver le
type d'une colonne, le nom de celle-ci, le nombre de colonnes dans le
curseur sont disponibles.
Vous voulez en savoir plus ? une seule adresse : www.sqlmanagerx.com
pour la derni=E8re version stable ou contact (sur le site) pour la
version actuellement en tests internes.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
[Bernard Vessiot]
avait prétendu :
Bonjour,
C'est avec grand plaisir que je peux vous annoncer que nous venons de faire un bon en avant avec la version de OTL4WD en cours de tests.
Outre toutes les fonctionnalités déjà existantes vous pouvez gérer les binds variables de type IN, OUT, INOUT de type chaine de caractères, entier et double. Un peu ce que fait Oracle4WD me direz vous... Oui mais là ne s'arrête pas l'innovation avec OTL4WD ! On peut aussi déclarer des binds variables de type "Referenced Cursor". La question nous avait été soumise par Bernard il y a peu. On exécute une procédure stockée qui renvoie 2 curseurs autonomes (cette façon de faire se retrouve de plus en plus dans les milieux Oracle sécurisés). Comment faire ?
Voici un début de solution avec OTL4WD.
On déclare nos deux curseurs :
[code] // fermeture au préalable des données de travail OTL4WD:OTLCloseBinds() // referenced cursor 1 de type OUT OTL4WD:OTLDefBind(0,"cur1","cur1",OTL4WD:ORACLE_VAROUT, OTL4WD:ORACLE_TYPEREF) // referenced cursor 2 de type OUT OTL4WD:OTLDefBind(1,"cur2","cur2",OTL4WD:ORACLE_VAROUT, OTL4WD:ORACLE_TYPEREF) [/code]
On execute notre procédure stockée :
[code] // appel fourni par le DBA retCode = OTL4WD:OTLExecPS("begin "+... " pkg1.prc1(:cur1,:cur2); "+... "end ; ") [/code]
Vous l'aurez compris pour le deuxième curseur c'est identique : [code] retCode = OTL4WD:OTLExec(":cur2") TableSupprimeTout("TABLE2") TANTQUE (OTL4WD:OTLFetchCur(":cur2")) TableAjoute("TABLE2", OTL4WD:OTLLitColCur(":cur2", 1) + TAB + OTL4WD:OTLLitColCur(":cur2", 2)) FIN [/code]
Pour faciliter la vie du développeur les méthodes pour retrouver le type d'une colonne, le nom de celle-ci, le nombre de colonnes dans le curseur sont disponibles.
Vous voulez en savoir plus ? une seule adresse : www.sqlmanagerx.com pour la dernière version stable ou contact (sur le site) pour la version actuellement en tests internes.
A très bientôt.
salut manu ! ouahhhh ! ça pour une nouvelle...!!! :D :D :D je vasi tester cela le plus rapidement possible... merci encore ! @+++
-- [Bernard Vessiot] 34980 Saint Gély du Fesc
elecoest@gmail.com avait prétendu :
Bonjour,
C'est avec grand plaisir que je peux vous annoncer que nous venons de
faire un bon en avant avec la version de OTL4WD en cours de tests.
Outre toutes les fonctionnalités déjà existantes vous pouvez gérer
les binds variables de type IN, OUT, INOUT de type chaine de
caractères, entier et double. Un peu ce que fait Oracle4WD me direz
vous... Oui mais là ne s'arrête pas l'innovation avec OTL4WD ! On
peut aussi déclarer des binds variables de type "Referenced Cursor".
La question nous avait été soumise par Bernard il y a peu. On
exécute une procédure stockée qui renvoie 2 curseurs autonomes
(cette façon de faire se retrouve de plus en plus dans les milieux
Oracle sécurisés). Comment faire ?
Voici un début de solution avec OTL4WD.
On déclare nos deux curseurs :
[code]
// fermeture au préalable des données de travail
OTL4WD:OTLCloseBinds()
// referenced cursor 1 de type OUT
OTL4WD:OTLDefBind(0,"cur1","cur1",OTL4WD:ORACLE_VAROUT,
OTL4WD:ORACLE_TYPEREF)
// referenced cursor 2 de type OUT
OTL4WD:OTLDefBind(1,"cur2","cur2",OTL4WD:ORACLE_VAROUT,
OTL4WD:ORACLE_TYPEREF)
[/code]
On execute notre procédure stockée :
[code]
// appel fourni par le DBA
retCode = OTL4WD:OTLExecPS("begin "+...
" pkg1.prc1(:cur1,:cur2); "+...
"end ; ")
[/code]
Vous l'aurez compris pour le deuxième curseur c'est identique :
[code]
retCode = OTL4WD:OTLExec(":cur2")
TableSupprimeTout("TABLE2")
TANTQUE (OTL4WD:OTLFetchCur(":cur2"))
TableAjoute("TABLE2", OTL4WD:OTLLitColCur(":cur2", 1) + TAB +
OTL4WD:OTLLitColCur(":cur2", 2))
FIN
[/code]
Pour faciliter la vie du développeur les méthodes pour retrouver le
type d'une colonne, le nom de celle-ci, le nombre de colonnes dans le
curseur sont disponibles.
Vous voulez en savoir plus ? une seule adresse : www.sqlmanagerx.com
pour la dernière version stable ou contact (sur le site) pour la
version actuellement en tests internes.
A très bientôt.
salut manu !
ouahhhh ! ça pour une nouvelle...!!! :D :D :D
je vasi tester cela le plus rapidement possible...
merci encore !
@+++
C'est avec grand plaisir que je peux vous annoncer que nous venons de faire un bon en avant avec la version de OTL4WD en cours de tests.
Outre toutes les fonctionnalités déjà existantes vous pouvez gérer les binds variables de type IN, OUT, INOUT de type chaine de caractères, entier et double. Un peu ce que fait Oracle4WD me direz vous... Oui mais là ne s'arrête pas l'innovation avec OTL4WD ! On peut aussi déclarer des binds variables de type "Referenced Cursor". La question nous avait été soumise par Bernard il y a peu. On exécute une procédure stockée qui renvoie 2 curseurs autonomes (cette façon de faire se retrouve de plus en plus dans les milieux Oracle sécurisés). Comment faire ?
Voici un début de solution avec OTL4WD.
On déclare nos deux curseurs :
[code] // fermeture au préalable des données de travail OTL4WD:OTLCloseBinds() // referenced cursor 1 de type OUT OTL4WD:OTLDefBind(0,"cur1","cur1",OTL4WD:ORACLE_VAROUT, OTL4WD:ORACLE_TYPEREF) // referenced cursor 2 de type OUT OTL4WD:OTLDefBind(1,"cur2","cur2",OTL4WD:ORACLE_VAROUT, OTL4WD:ORACLE_TYPEREF) [/code]
On execute notre procédure stockée :
[code] // appel fourni par le DBA retCode = OTL4WD:OTLExecPS("begin "+... " pkg1.prc1(:cur1,:cur2); "+... "end ; ") [/code]
Vous l'aurez compris pour le deuxième curseur c'est identique : [code] retCode = OTL4WD:OTLExec(":cur2") TableSupprimeTout("TABLE2") TANTQUE (OTL4WD:OTLFetchCur(":cur2")) TableAjoute("TABLE2", OTL4WD:OTLLitColCur(":cur2", 1) + TAB + OTL4WD:OTLLitColCur(":cur2", 2)) FIN [/code]
Pour faciliter la vie du développeur les méthodes pour retrouver le type d'une colonne, le nom de celle-ci, le nombre de colonnes dans le curseur sont disponibles.
Vous voulez en savoir plus ? une seule adresse : www.sqlmanagerx.com pour la dernière version stable ou contact (sur le site) pour la version actuellement en tests internes.
A très bientôt.
salut manu ! ouahhhh ! ça pour une nouvelle...!!! :D :D :D je vasi tester cela le plus rapidement possible... merci encore ! @+++