Bonjour,

suite à mes problématiques avec le driver Oracle décrits dans le fil suivant :
http://www.developpez.net/forums/d87...s-sharperreur/
je suis donc passé par le driver ODBC Microsoft.
Dans un premier temps, tout marche bien, les données semblent parfaitement cohérentes.

Puis j'ai fait une requête sur ma table liée à Oracle, pour vérifier si un champ (type Texte) était parfois non nul.
Le code SQL de la requête ressemble à ça :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
SELECT [MaTable].CHAMP1
FROM MaTable
WHERE ((([MaTable].CHAMP1) Is Not Null And ([MaTable].CHAMP1)<>""));
La requête ne me renvoie aucun enregistrement en réponse, mais si je regarde dans la table, je trouve des enregistrements avec CHAMP1 non null et non vide

La même requête fonctionne parfaitement sur une table locale, ça ne le fait que sur une table liée...

si je modifie la requête comme ça :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
SELECT nz([MaTable].CHAMP1,"")
FROM MaTable
WHERE nz([MaTable].CHAMP1,"")<>"";
ça donne des résultats cohérents.

La question est : quand se méfier des résultats d'une requête sur une table liée par Microsoft ODBC pour Oracle, y a-t-il une règle à respecter sur le SQL ?

Merci de m'avoir lu, et j'espère de me répondre si vous avez une idée