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
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