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

Windev 11 et Oracle : compilation de tous les problèmes rencontrés

16 réponses
Avatar
Loko
Bonjour

Je souhaite lister ici tous les probl=E8mes que j'ai pu rencontrer en
utilisant Windev 11 avec une BD Oracle, et ceci en seulement quelques
jours. Autant avec Hyperfile WD a l'air de tres bien fonctionner,
autant avec une BD tierce (en tout cas Oracle) c'est vraiment
l'enfer :

- pas possible de demander =E0 Windev de reporter dans Oracle les modifs
apport=E9es dans l'analyse. Du coup il faut les faire soit-m=EAme =E0 la
main dans Oracle en plus de dans l'analyse sinon =E0 la prochaine
synchronisation il d=E9tecte des diff=E9rences et propose en gros
d'annuler nos modifs (car dans le sens Oracle --> Analyse Windev, ca
marche =E0 peu pres).

- Lors de la cr=E9ation d'une nouvelle analyse compl=E8te ou seulement de
qqes tables =E0 partir d'une base/table existante dans Oracle, il
r=E9cup=E8re bien les champs mais pas les CIF (clefs externes, "foreign
key" ou "referential integrity" dans Oracle). Du coup je suis oblig=E9
de cr=E9er manuellement une liaison dans l'analyse. Lors de la prochaine
synchro Windev <--> Oracle il ne "trouve" toujours pas de relation
entre mes tables et me propose donc par d=E9faut de supprimer la liaison
que j'ai cr=E9=E9 manuellement et de passer le champ concern=E9 en non clef.=


- il ne trouve pas de synonymes (vers une autre base/sch=E9ma Oracle),
par exemple j'ai des synonymes dans mon sch=E9ma Gestion Commerciale qui
pointent vers des tables du sch=E9ma pour la Compta. Du coup je suis
oblig=E9 d'utiliser 2 connexions BD pour le meme projet, 1 pour chaque
sch=E9ma (pas glop au niveau performances).

- Il ne trouve pas non plus les vues, je dois donc les supprimer de ma
BD et les cr=E9er dans Windev sous forme de requetes enregistr=E9es (je
pense, je peux me tromper). Pas glop non plus niveau performance.

- et j'ai gard=E9 le meilleur pour la fin : si je cr=E9=E9 un nouveau
fichier dans mon analyse Windev avec un champ "id automatique sur 8
octets" et que je lance une appli avec la HCreationSiInexsitant il me
cr=E9=E9 bien la table dans ma BD avec un champ number(19). Jusque l=E0 tout=

va bien. Mais si je lance ensuite une synchro il me d=E9tecte des
diff=E9rences (sur une table qu'il a lui-m=EAme cr=E9=E9e !) et me propose d=
e
passer le champ "id automatique" en champ normal de type num=E9rique et
non clef.

J'ai essay=E9 avec le connecteur OLE DB fourni par MS (MDAC) et avec
celui fourni par Oracle.

Voila pour aujourd'hui, j'aimerais savoir si vous avez rencontr=E9 les
m=EAmes probl=E8mes.

Merci
Loko

10 réponses

1 2
Avatar
Roumegou Eric
Loko avait soumis l'idée :
Bonjour

Je souhaite lister ici tous les problèmes que j'ai pu rencontrer en
utilisant Windev 11 avec une BD Oracle, et ceci en seulement quelques
jours. Autant avec Hyperfile WD a l'air de tres bien fonctionner,
autant avec une BD tierce (en tout cas Oracle) c'est vraiment
l'enfer :

- pas possible de demander à Windev de reporter dans Oracle les modifs
apportées dans l'analyse. Du coup il faut les faire soit-même à la
main dans Oracle en plus de dans l'analyse sinon à la prochaine
synchronisation il détecte des différences et propose en gros
d'annuler nos modifs (car dans le sens Oracle --> Analyse Windev, ca
marche à peu pres).



La plupart des gens ici qui utilisent WD et Oracle (ou mysql) ne
travaillent pas avec l'analyse.
et c'est le bonheur.
Et meme si on travaille avec l'analyse, pour moi la modélisation doit
se faire dans Oracle.


- Lors de la création d'une nouvelle analyse complète ou seulement de
qqes tables à partir d'une base/table existante dans Oracle, il
récupère bien les champs mais pas les CIF (clefs externes, "foreign
key" ou "referential integrity" dans Oracle). Du coup je suis obligé
de créer manuellement une liaison dans l'analyse. Lors de la prochaine
synchro Windev <--> Oracle il ne "trouve" toujours pas de relation
entre mes tables et me propose donc par défaut de supprimer la liaison
que j'ai créé manuellement et de passer le champ concerné en non clef.

- il ne trouve pas de synonymes (vers une autre base/schéma Oracle),
par exemple j'ai des synonymes dans mon schéma Gestion Commerciale qui
pointent vers des tables du schéma pour la Compta. Du coup je suis
obligé d'utiliser 2 connexions BD pour le meme projet, 1 pour chaque
schéma (pas glop au niveau performances).



oui je n'avais pas réussi à utiliser les synomymes non plus.(mais
c'était il y a 6 ans, je ne sais pas si cela a évolué)


- Il ne trouve pas non plus les vues, je dois donc les supprimer de ma
BD et les créer dans Windev sous forme de requetes enregistrées (je
pense, je peux me tromper). Pas glop non plus niveau performance.

- et j'ai gardé le meilleur pour la fin : si je créé un nouveau
fichier dans mon analyse Windev avec un champ "id automatique sur 8
octets" et que je lance une appli avec la HCreationSiInexsitant il me
créé bien la table dans ma BD avec un champ number(19). Jusque là tout
va bien. Mais si je lance ensuite une synchro il me détecte des
différences (sur une table qu'il a lui-même créée !) et me propose de
passer le champ "id automatique" en champ normal de type numérique et
non clef.



je crois que tu aurais moins de déboires en partant d'Oracle pour
arriver dans WD

J'ai essayé avec le connecteur OLE DB fourni par MS (MDAC) et avec
celui fourni par Oracle.

Voila pour aujourd'hui, j'aimerais savoir si vous avez rencontré les
mêmes problèmes.

Merci
Loko



--
Eric Roumégou
Webmaster des Wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour m'écrire)
Avatar
Loko
Re Eric

On 28 nov, 09:18, Roumegou Eric wrote:

La plupart des gens ici qui utilisent WD et Oracle (ou mysql) ne
travaillent pas avec l'analyse.
et c'est le bonheur.
Et meme si on travaille avec l'analyse, pour moi la modélisation doit
se faire dans Oracle.



D'accord.
Mais euh ... dans ce cas tu utilises les fonctiohs HDécritFichier et
compagnie ? Comment tu t'en sors ?

Dans mon cas (novice), le RAD à partir d'un fichier de l'analyse est
qd meme pratique pour voir le code qu'il génère et comprendre la
"philosophie" de Windev ...

L.
Avatar
breddabasse
On 28 nov, 10:03, Loko wrote:
Re Eric

On 28 nov, 09:18, Roumegou Eric wrote:

> La plupart des gens ici qui utilisent WD et Oracle (ou mysql) ne
> travaillent pas avec l'analyse.
> et c'est le bonheur.
> Et meme si on travaille avec l'analyse, pour moi la modélisation doit
> se faire dans Oracle.

D'accord.
Mais euh ... dans ce cas tu utilises les fonctiohs HDécritFichier et
compagnie ? Comment tu t'en sors ?

Dans mon cas (novice), le RAD à partir d'un fichier de l'analyse est
qd meme pratique pour voir le code qu'il génère et comprendre la
"philosophie" de Windev ...

L.



Perso, avec Oracle, je ne me sers pas de l'analyse, donc pas de
fonctions H...()
je passe par les fonctions sql...()
Dans l'ensemble, ça marche très bien.

a+
Avatar
Loko
On 28 nov, 10:13, wrote:
On 28 nov, 10:03, Loko wrote:



> Re Eric

> On 28 nov, 09:18, Roumegou Eric wrote:

> > La plupart des gens ici qui utilisent WD et Oracle (ou mysql) ne
> > travaillent pas avec l'analyse.
> > et c'est le bonheur.
> > Et meme si on travaille avec l'analyse, pour moi la modélisation doi t
> > se faire dans Oracle.

> D'accord.
> Mais euh ... dans ce cas tu utilises les fonctiohs HDécritFichier et
> compagnie ? Comment tu t'en sors ?

> Dans mon cas (novice), le RAD à partir d'un fichier de l'analyse est
> qd meme pratique pour voir le code qu'il génère et comprendre la
> "philosophie" de Windev ...

> L.

Perso, avec Oracle, je ne me sers pas de l'analyse, donc pas de
fonctions H...()
je passe par les fonctions sql...()
Dans l'ensemble, ça marche très bien.

a+



D'accord merci.

Mais quand tu veux faire par exemple un écran en mode fiche avec des
boutons précédent/suivant, c'est pas trop galère en SQL ? Parcequ'avec
HLitPremier etc c'est vrai que c'est super simple qd meme.

J'en arrive à me demander l'interet d'utiliser Windev si on ne profite
pas de ses avantages et que l'on fait tout en SQL. .. (?)
Avatar
thierry.jacquart
d'abord on a plein de bases oracle, on nous donne plein de produits à
tester pour diverses taches et ils ont tous des comportements bizarres
sur certaines choses : donc que windev galere ca me choque pas.

Si tu es sur oracle , je te conseille :

- pas d'analyse dans WD : appli "autonome"

- Utiliser l'acces alter-natif OTL4WD
au debut tu vas peut etre perdre un peu de temps à le maitriser (j'ai
deposé un projet exemple sur le site pour accelerer la chose), mais
apres c'est que du bonheur.
et surtout tu pourras jouer avec des procedures stockées : car plutot
que de faire travailler ton petit processeur Intel, autant faire
bosser les CPU de la gameboy dans la salle machine. Par contre, pour
les procedures stockées, faudra te mettre au PL/SQL mais c'est pas
bien compliqué (et si tu veux des exemples tu me mail)


- synonymes publics :
si tu te connectes avec un compte, tu ne vois que les tables de ton
compte par defaut (donc de ton schema)
quand windev va chercher la liste des tables il doit aller dans le
dico avec un predicat du style "AND OWNER = Login_session" dans sa
requete
si tu veux voir toutes les tables il faut plutot utiliser ca : select
owner ||'.'||table_name from all_tables


- ou tu achetes l'access natif de pcsoft pour ne pas changer ta facon
de faire
Avatar
thierry.jacquart
pour connaitre les synonymes faut utiliser ca :

Select table_owner ||'.'|| table_name, synonym_name from
sys.ALL_SYNONYMS
Avatar
Loko
Bonjour Thierry

On 28 nov, 10:25, ""
wrote:

[...]



Je ne comprends pas bien l'avantage de l'accès natif à Oracle, que ce
soit celui payant chez PCSOFT ou celui en open source dont tu me
parles. L'avatange, c'est de pouvoir lancer des procédures stockées ?
Il y en a t-il d'autres, à part la rapidité ? Je maitrise bien PL/SQL,
mais je ne vois vraiment plus l'interet de faire du Windev si c'est
pour tout faire en PL/SQL et en SQL (ok pour le pl/sql sur serveur,
mais je n'ai que des trucs simples à faire, mise à jour de tables avec
CIF) donc pas grand intéret pour moi.

En faisant cela ne perd t-on pas les avantages de Windev (pour
simplifier : le RAD, les fonctions H*, la vérification automatique des
CIF) ?

Pour ce qui est des synonymes je sais les retrouver dans sql*plus ou
autre mais je ne peux pas changer ce que Windev voit ou pas.
Avatar
Loko
Re bonjour tout le monde.

En gros il ne faut pas utiliser l'analyse avec Oracle, et faire que du
SQL avec éventuellement accès natif.

Mais ce faisant, certaines choses m'échappe. Par exemple lorsque vous
créé une fenetre avec un champ de saisie, vous n'utilisez jamais la
propriété "liaison" pour indiquer à quel champ de la table il
correspond ? Donc cela veut dire que vous devez tout programmer :
- en lecture vous remplissez le champ de la fenetre avec la valeur lue
dans la table,
- et en écriture vous écrivez dans la table à partir avec la valeur du
champ "mémoire" de saisie ?
- et à chaque ajout de champ il vous faut retrouver et modifier tous
les codes de lecture/ecrite de la table dans toutes les fenêtres ?

N'est-ce pas couteux en temps de développement ? (De nos jours ou l'on
souhaite passer justement moins de temps sur le développement et plus
sur les regles métiers, les processus, etc ... )
Avatar
thierry.jacquart
Nous deployons des applis dans des pays ou nous ne connaissons pas les
infrastructures (os, ligne de comm) , nous ne connaissons pas la facon
de travailler de ces utilisateurs.

L'avantage des procédures stockées :
- beaucoup (mais alors beaucoup) moins couteux en consommation reseau
- ton appli clientes ne fait *rien* : elle affiche ce que retourne la
proc, controle la validité de certaines saisies
- rapidité des accès natifs : y'a pas photo
- tu modifies une proc et c'est tout : pas besoin de modifier les
softs


mais il me semble qu'avec l'acces natif oracle pcsoft, tu peux
utiliser les ordres H.....

pour les synonymes publics :
si tu veux symuler des tables d'un autre schema, tu crés des view de
types select * from AUTRE_SCHEMA.table
et tu auras une vue qui sera le contenu de la table d'un autre schema
(valable pour des acces en lecture)
Avatar
Loko
On 28 nov, 11:55, ""
wrote:

OK pour ton infrastructure

pour les synonymes publics :
si tu veux symuler des tables d'un autre schema, tu crés des view de
types select * from AUTRE_SCHEMA.table
et tu auras une vue qui sera le contenu de la table d'un autre schema
(valable pour des acces en lecture)



Windev ne voit pas les vues non plus ! Meme avec tous les grant qui
vont bien ...
1 2