OVH Cloud OVH Cloud

[WD9] Problème format date

7 réponses
Avatar
serviroc
Bonjour,

Je viens de migrer un projet développé avec Windev 7.5 utilisant l'accés
natif Oracle sur une base Oracle 8i, en Windev 9 avec une base Oracle 10g,
toujours avec l'accés natif Oracle.
Mon ancien projet fonctionnait trés bien sous Windev 7.5 alors que dés mon
premier test sous Windev 9 j'ai un problème !
Le programme me met une erreur lorsque j'essaye d'éxécuter cette requête :
"SELECT * FROM CONCERNE WHERE dateinterdite = '01/01/2005'"

Voici le message d'erreur :
**********************************************
Dump de l'erreur du module <WD90HF.DLL> <9.00Cgf>

- Appel WL :
Fonction <HExécuteRequêteSQL> n° de syntaxe <3>

- Niveau : erreur non fatale (EL_ONRETURN)

- Code erreur : 73001

- Code erreur WD55 : 3001

- Pas de code erreur système

- Pas de message d'erreur système

- Que s'est-il passé ?
Erreur de l'accés natif ORACLE.
Numéro d'erreur = 1004

L'éxécution de la requête suivante à échoué
SELECT * FROM CONCERNE WHERE dateinterdite = '01/01/2005'
ORA-01858: caractère non numérique rencontré à la place d'un numérique

- Infos de debug :
Fontcion (7,55)

- Infos attachées :
EIT_BASECODE : <1858>
EIT_NATIVECODE : <1004>
EIT_LOGICALTABLENAME : <src>

- Identifiant dans le .err : 72801

**********************************************

A savoir que si je modifie le format de ma date en mettant '20050101', alors
là je n'ai aucun message d'erreur.
J'aimerais donc savoir si entre la version 7.5 et la version 9 de windev,
l'accés natif à été modifié en ce qui concerne les format de date car si je
doit m'amuser à changer toutes les requêtes accédant à des dates dans mon
projet je risque d'y passer beaucoup de temp !!!!

Merci beaucoup


SERVIROC

7 réponses

Avatar
sf.marseille
Salut,

J'aimerais donc savoir si entre la version 7.5 et la version 9 de windev,
l'accés natif à été modifié en ce qui concerne les format de date car si
je
doit m'amuser à changer toutes les requêtes accédant à des dates dans mon
projet je risque d'y passer beaucoup de temp !!!!



Aucune idée, Je n'utilise pas l'accès natif PcSoft. Mais essaye peut
être après l'ouverture de session de faire un ALTER SESSION SET
NLS_DATE_FORMAT='DD/MM/YYYY' pour adapter ton format. Comme ça tu seras
toujours en phase avec ton application et cela ne concerne que la session en
cours.

AB+ Laurent
Avatar
Roumegou Eric
Le 08/06/2005, sf.marseille a supposé :
Salut,

J'aimerais donc savoir si entre la version 7.5 et la version 9 de windev,
l'accés natif à été modifié en ce qui concerne les format de date car si je
doit m'amuser à changer toutes les requêtes accédant à des dates dans mon
projet je risque d'y passer beaucoup de temp !!!!



Aucune idée, Je n'utilise pas l'accès natif PcSoft. Mais essaye peut être
après l'ouverture de session de faire un ALTER SESSION SET
NLS_DATE_FORMAT='DD/MM/YYYY' pour adapter ton format. Comme ça tu seras
toujours en phase avec ton application et cela ne concerne que la session en
cours.



je confirme. C'est la meilleure solution. Dommage que cela n'existe pas
avec mysql.
Mais peut-être vais-je dire une bêtise ? <avec des pincettes> je crois
que certaines évolutions de l'accès natifs ne tenait pas compte du
NLS_DATE_FORMAt mais de leur propre paramétrage </avec des pincettes>

AB+ Laurent



--
Eric Roumégou
http://cerbermail.com/?TSoulBerPA
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
sf.marseille
Salut,

je confirme. C'est la meilleure solution. Dommage que cela n'existe pas
avec mysql.
Mais peut-être vais-je dire une bêtise ? <avec des pincettes> je crois
que certaines évolutions de l'accès natifs ne tenait pas compte du
NLS_DATE_FORMAt mais de leur propre paramétrage </avec des pincettes>



Il reste encore l'accès AlterNatif (^_^), qui s'il gerait pleinement le
PL, il friserait la perfection (^_^), (^_~)

AB+ Laurent
Avatar
serviroc
Bonjour,

Aucune idée, Je n'utilise pas l'accès natif PcSoft. Mais essaye peut
être après l'ouverture de session de faire un ALTER SESSION SET
NLS_DATE_FORMAT='DD/MM/YYYY' pour adapter ton format. Comme ça tu seras
toujours en phase avec ton application et cela ne concerne que la session


en
cours.



Malheureusement ça ne fonctionne pas, mais dites moi si je me trompe, cette
requête est bien censé modifier ma session à partir d'Oracle ? Alors que je
pense plutôt que cela vient de l'accés natif et non d'oracle car en
utilisant iSql+ directe sur la base Oracle la même requête fonctionne trés
bien !
J'ai même l'impression que seules les requêtes en SELECT ne fonctionne plus
car je viens de tester une INSERT qui fonctionne avec le format date
DD/MM/YYYY.

Merci

SERVIROC
Avatar
mat
serviroc wrote:
...

A savoir que si je modifie le format de ma date en mettant '20050101', alors
là je n'ai aucun message d'erreur.
J'aimerais donc savoir si entre la version 7.5 et la version 9 de windev,
l'accés natif à été modifié en ce qui concerne les format de date car si je
doit m'amuser à changer toutes les requêtes accédant à des dates dans mon
projet je risque d'y passer beaucoup de temp !!!!




bonjour,
just une idée puisque j'ai l'impression qu'il s'agit d'un problème
d'interpretation des dates par Windev:

il y a bien le paramètre "hRequêteSansCorrection" dans le
HExecutionRequêteSQL ?

salutations
mat
Avatar
mat
mat wrote:
bonjour,
just une idée puisque j'ai l'impression qu'il s'agit d'un problème
d'interpretation des dates par Windev:

il y a bien le paramètre "hRequêteSansCorrection" dans le
HExecutionRequêteSQL ?



... HExécuteRequêteSQL bien sûr...
Avatar
serviroc
Bonjour,

oui oui, je précise bien le paramètre hRequêteSansCorrection !


Merci


SERVIROC