Noms des champs convertis en majuscules avec ODBC SAge + PHP

Cette section est consacrée aux développements d'applications interfacées avec les logiciels Sage.

Modérateurs: Super-Apogea, Super Modérateur

Noms des champs convertis en majuscules avec ODBC SAge + PHP

de ffjv » Ven 2 Juil 2010 00:34

Bonjour,

Je développe des programmes en PHP pour traiter les données d'une Gestion Sage Ligne 100 V16.
J'ai deux pilotes ODBC installés, le pilote SQL Server Native Client 10.0 et le client SAGE Gestion commerciale 100.
Je récupère les enregistrements sous forme de tableau, avec les noms de champs comme clé.
Si je lance une requête avec le client ODBC Sage, je ne peux récupérer les données qu'en mettant les clés en majuscules, alors qu'avec le client MS SQL Server, les clés doivent être identiques aux noms des champs.

Exemple :
Requête : "SELECT AR_Ref, AR_Design FROM F_ARTICLE WHERE AR_Ref LIKE 'myref%'
Je récupère les données avec $res = odbc_query(..) puis $art = odbc_fetch_array($res).
Avec le client SQL : $ref = $art['AR_Ref'];
Avec le client Sage : $ref = $art['AR_REF'];

Y-a-il une solution pour pouvoir utiliser les mêmes clés quel que soit le client ODBC utilisé ?

Merci.
Posteur néophyte
Posteur néophyte
 
Messages: 5
Inscription: Lun 4 Juin 2007 11:27

Re: Noms des champs convertis en majuscules avec ODBC SAge + PHP

de immobilia » Lun 20 Sep 2010 14:51

Avec PDO ODBC : http://fr.php.net/manual/fr/pdostatemen ... ribute.php tu peux voir sa méthode PDO::setAttribute http://dotclear.placeoweb.com/post/PDO pour forcer les retours en majuscule ou minuscule.

Sinon en ODBC seulement, il faudrait connaître la bonne option pour la modifier avec odbc_setoption

Et aussi essaye de faire test requête tout en majuscule, tu aura surement le même retour : tout en majuscule : "SELECT AR_REF, AR_DESIGN FROM F_ARTICLE WHERE AR_REF LIKE 'myref%'
afin de lire dans $art['AR_REF'];
Posteur néophyte
Posteur néophyte
 
Messages: 5
Inscription: Mar 14 Sep 2010 21:09

Problème de lecture d'une Base de Donnee Sage en PHP

de mikothas » Jeu 23 Aoû 2012 18:23

Bonjour cher amis du zoom forum...Je vous pose mon problème:::Je me connecte au fichier d'essai GC_Bijou.cgm de sage en php via ODBC en passant par un dsn avec succès et ça m'affiche les données proprement, mais quand j'utilise le même code pour accéder à un autre fichier Gescom, ça ne m'affiche rien, ni données , ni erreur..... Y a-t-il des propriétés sur les fichier .cgm qu'on crée ou quoi, je ne sait vraiment pas!!!
Voici le code:
Code: Tout sélectionner
<?php
   echo'Test ODBC';
   $conn=odbc_connect('mySageData','Administrateur','');
   //odbc_tables($dbh);
   echo'---';
   print_r(odbc_tables($conn));
   echo'---';
   $sql="SELECT * FROM F_ARTCOMPO";
   $rs=odbc_exec($conn,$sql);
   
   if (!$rs)
   { echo'error';exit("Error occured ");}
   echo "<table><tr>";
   echo "<th>AR_REF</th>";
   echo "<th>AT_DESCRIPTION</th></tr>";
   print_r(odbc_fetch_array($rs));
   
   while ($d=odbc_fetch_array($rs))
   {
   $compname=$d['AR_REF'];
   $conname=odbc_result($rs,"AT_DESCRIPTION");
   echo "<tr><td>$compname</td>";
   echo "<td>$conname</td></tr>";
   }
   
   echo "</table>"; 
  ?>
Posteur néophyte
Posteur néophyte
 
Messages: 2
Inscription: Mar 26 Juin 2012 12:20

Re: Noms des champs convertis en majuscules avec ODBC SAge + PHP

de fred85 » Mer 12 Sep 2012 19:14

Euh mikothas question bête, tu as essayé une autre table, car cette table n'est pas souvent rempli.
Il vaudrait mieux essayer sur F_Article dans un premier temps.
Sinon dans le lien ODBC, tu as bien changé le fichier GCM et le fichier MAE ?

Enfin, tu aurais du créer une autre question sur le forum, car celle ci n'a aucun rapport avec celle en entête
Posteur néophyte
Posteur néophyte
 
Messages: 11
Inscription: Mar 1 Nov 2011 17:23

Re: Noms des champs convertis en majuscules avec ODBC SAge + PHP

de mikothas » Dim 16 Sep 2012 19:26

Ok merci, mais la table contient de données. le problèmes était qu'il fallait revoir les attributs du fichier .gcm... Merci à tous
Posteur néophyte
Posteur néophyte
 
Messages: 2
Inscription: Mar 26 Juin 2012 12:20


Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités