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

6 réponses

1 2
Avatar
J.B.
Le Wed, 28 Nov 2007 11:55:54 +0100,
a écrit:



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)



Même sans utiliser l'accès natif (nous utilisons OLE DB) , il est possible
d'utiliser les H.. sur
des requêtes.

Il y a parfois des problèmes pour voir les vues grantées (WD10).


--
J.Bratières
Avatar
Loko
J'en reviens à ma question sur la façon de procéder avec le l'écritu re
de code SQL .

Meme en quelques mots pouvez vous svp me conseiller sur la meilleure
facon de faire :

- utilisez vous l'association d'un champ de type table avec une table
de la bd (dans la rubrique "liaison") ?

- est ce que vous utilisez que des champs de saisie, et que vous les
renseignez par programmation ? Si par programmation, comment vous
faites champ_de_saisie = champ de l'instruction Select ?

- est ce que vous utilisez qd meme HModifie, HAjoute ou bien est ce
que vous faites réellement tout en sql (insert into, delete ...)

- utilisez vous plutot HExecuteRequete ou plutot HExecuteRequeteSQL ?

et autres points de base auxquels je n'aurais pas pensé.

Merci bcp
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 etOracle(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 dansOracle.

> 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, avecOracle, 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+



Bonjour

J'ai une question importante là : si vous (je m'adresse à tout le
monde) développez en écrivant à chaque fois les requetes SQL à la ma in
sans utiliser l'analyse, quel est l'interet d'utiliser Windev ?

En faisant cela, ne perd t-on pas les atouts de l'analyse ?
informations partagées sur les champs, pré-formattage, jointures
automatiques, réutilisabilité meilleure du code, et j'en oublie peut
etre ?
Avatar
Daniel
Loko a écrit :
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 etOracle(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 dansOracle.


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, avecOracle, 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+



Bonjour

J'ai une question importante là : si vous (je m'adresse à tout le
monde) développez en écrivant à chaque fois les requetes SQL à la main
sans utiliser l'analyse, quel est l'interet d'utiliser Windev ?



L'analyse n'est pas faite à la base pour écrire des requêtes.

Elle est indispensable lorsqu'on travaille avec HF, car c'est l'analyse
qui va créer la base.

A la "limite", lorsqu'on n'utilise pas HF, elle n'a pas grand intérêt.



En faisant cela, ne perd t-on pas les atouts de l'analyse ?



Oui, mais comme elle ne sert pas à grand chose, sauf, si on utilise le
RAD, pas vraiment d'intérêt.

informations partagées sur les champs, pré-formattage, jointures
automatiques, réutilisabilité meilleure du code, et j'en oublie peut
etre ?



On peut faire tout cela sans analyse, en automatique, sana avoir les
contraintes liées à l'analyse (bien entendu hors HF).


Le seul intéret que je trouve à l'analyse est le gain de temps procuré
avec le RAD Windev, qui permet très rapidement à partir des champs
sélectionnés de créer une fenêtre mode fiche ou table.



--
suivre ce lien pour répondre:
http://cerbermail.com/?2KrV3YZXnn
Daniel
;-)
Avatar
Loko
Bonjour

On 14 déc, 15:11, Daniel wrote:

> informations partagées sur les champs, pré-formattage, jointures
> automatiques, réutilisabilité meilleure du code, et j'en oublie peut
> etre ?

On peut faire tout cela sans analyse, en automatique, sana avoir les
contraintes liées à l'analyse (bien entendu hors HF).



Euh.. peut tu m'expliquer comment ? (je précise que je n'ai qu'un
petit mois d'expérience avec Windev11).

Si tu n'as pas d'analyse, alors tu as obligé de faire du
HExecuteRequeteSQL et d'écrire ta requete dans une chaine, par exemple
"select code_client from commande where commande_id=1". Ce faisant
Windev ne saura pas au préalable à quoi s'attendre comme valeurs
reçues, donc comment tu fais :

- pour préformatter un champ numérique par exemple ?

- Si tu utilises un champ par exemple monétaire dans plein de fenetre
et que tu souhaites changer son affichage du format européen au format
américain (virgules à la place d'espaces) avec l'analyse il suffit de
le modifier dans la propriété du champ et il te propose ensuite (sauf
erreur de ma part) de répercuter la modification dans toutes les
fenetres. Si tu n'utilises pas l'analyse comment tu t'y prends ?

Merci d'avance.
Avatar
Loko
en ajout à mon précédent mail, je pensais aussi à un autre point :

- l'Analyse permet de gérer facilement des valeurs d'affichage pour
les combos (par exempe remplacer un champ "etat" à 0, 1 par "Non" ou
"Oui"). Sans analyse, tu refais cet affichage à chaque fois ? Et pour
qqchose de plus détaillé que "Non/Oui" tu geres une table de valeurs
d'affichage dans ta base et tu écrits une jointure à chaque fois ?
1 2