Bonjour tout le monde,
J'utilise pour la première fois les composants ADO, et je me heurte à un problème un peu bizarre. J'utilise dans mes requêtes des fonctions permettant de manipuler les strings, par exemple ce genre de requête :
1 2 3 4
|
SELECT LEFT(CHAR(monchamps),2) AS resultat
FROM matable
WHERE ligne=5678 |
J'arrive à me connecter à la base de données (AS400 UDB), mais lorsque j'active mon query, j'obtiens une erreur du type
Pas de colonne définie dans l'ensemble de lignes
![:?](https://www.developpez.net/forums/images/smilies/icon_confused.gif)
Il suffit d'enlever la fonction SQL LEFT(...,2) pour que la requête fonctionne. Quelqu'un aurait-il une idée concernant la source du problème ?
J'utilise D2009, et voici la connexion string du composant de TADOConnection
Provider=IBMDA400.DataSource.1;Persist Security Info=False;User ID=XX;Data Source=XXX.XXX.XXX.XXX;Protection Level=None;Extended Properties="";Initial Catalog=MonCatalogue;Transport Product=Client Access;SSL=DEFAULT;Force Translate=65535;Default Collection=XX;Convert Date Time To Char=TRUE;Catalog Library List="";Cursor Sensitivity=3;Use SQL Packages=False;SQL Package Library Name="";SQL Package Name="";Add Statements To SQL Package=True;Unusable SQL Package Action=1;Block Fetch=True;Data Compression=True;Sort Sequence=0;Sort Table="";Sort Language ID="";Query Options File Library="";Trace=0;Hex Parser Option=0;Maximum Decimal Precision=31;Maximum Decimal Scale=31;Minimum Divide Scale=0;Library List="";Naming Convention=0;Query Optimize Goal=0;Block Size=0
(les X remplacent des valeurs
).
J'ajoute que la syntaxe de la requête SQL est parfaitement valide puisque testé avec succès sur la base de données.
D'avance merci et bonne journée.
Partager